我在全新安装 Ubuntu 12.10 时遇到了一个奇怪的问题,我执行的任何磁盘操作(例如恢复备份)都会占用我所有的 8GB 内存,而且似乎没有释放内存,因此我使用交换。
这看起来像是内存泄漏,但我不知道我是否正确。
我不知道从哪里开始诊断这些事情。
详细信息:我没有打开任何应用程序,除了我的备份由 ubuntu 的备份应用程序 (duplicity) 恢复。我正在通过htop
和监控内存使用率free
。我知道有很多缓存内存,但系统变慢,而且我正在使用交换,所以我认为内核或导致此问题的任何因素都没有在请求时释放缓存。
答案1
您可以尝试从终端运行以下命令:
sudo -s
echo 3 > /proc/sys/vm/drop_caches
我也用过它,我的 top 中的“已用内存”又是~1G!
答案2
我遇到过类似的情况。
看来,一旦 Ubuntu 开始使用交换,即使操作完成后它也不会轻易释放 RAM。
我通过运行两个命令找到了解决方案后RAM 密集型操作已结束。即:sudo swapoff -a
后跟sudo swapon -a
。这将禁用交换,在此期间交换中的任何内容都将传输到 RAM 中,然后重新启用它。
如果可能的话,我建议您尝试逐步恢复。请在您的问题中提供更多详细信息,以获取具体帮助。
答案3
好吧,我的问题已经通过使用较新的内核得到解决,我正在使用内核 3.8,现在没有这个问题。