我有 6GB RAM、i5 2.4GHZ 处理器,运行 Ubuntu 11.10。我对硬盘进行了分区,以便有 8GB 交换空间。
当在线播放或在 Chromium 中打开多个选项卡时,我的缓存中很快就会有 4GB 内存。我认为这会使我的笔记本电脑变慢。当播放视频时,几分钟后它真的会变慢并且出现卡顿/抖动。
这可能是什么问题?我该如何解决这个问题?
附言:我最初有 4GB,最近升级到了 6GB,但并没有经历明显的变化。
PPS:free -g
在终端打印如下内容:
total used free shared buffers cached
Mem: 5 2 3 0 0 0
-/+ buffers/cache: 1 4
Swap: 8 0 8
答案1
缓存数据是 RAM应该让事情变得更快,而不是更慢——当你有未使用的内存时,反复从磁盘获取东西是愚蠢的。但是如果你溢出到交换空间,那么将要性能下降。通过运行 ,您可以轻松判断是否正在使用任何交换System Monitor
。如果问题开始时交换空间图没有上升,则问题与内存无关。
当然,当您流式传输视频时,它将被缓存在内存中,但需要相当多的视频才能填满 6Gb!我预计下载这么多数据需要的时间不止几分钟,而且要花更多的时间才会造成问题!
你确定不是其他问题吗?比如说,冷却系统?许多笔记本电脑的处理器都比冷却系统高出很多。这很好 - 它可以提供高峰值性能,适合突发流量,同时保持体积小 - 但它无法长时间保持性能,否则就会被迫降低时钟频率或融化。视频可能相当耗费处理器资源,所以你永远不知道?
无论如何,您应该能够从内存使用情况中看出是否正在交换。如果是,那么这是一个软件问题,这些问题可以修复。:)
答案2
我有同样的问题,似乎缓存从未被释放过...一个例子是当我签出一个存储库并最终得到 4GB 的缓存时
例子:
$ free -m
total used free shared buffers cached
Mem: 7949 7425 523 0 112 4433
-/+ buffers/cache: 2879 5069
Swap: 7627 2 7625
我所做的是运行下面的代码(注释只是为了让您知道发生了什么),您可以创建一个脚本,以便在需要时运行它:
# To free pagecache:
# echo 1 > /proc/sys/vm/drop_caches
# To free dentries and inodes:
# echo 2 > /proc/sys/vm/drop_caches
# To free pagecache, dentries and inodes:
# echo 3 > /proc/sys/vm/drop_caches
sudo sync && sudo sysctl -w vm.drop_caches=3
运行上述代码后:
$ free -m
total used free shared buffers cached
Mem: 7949 2820 5129 0 2 407
-/+ buffers/cache: 2409 5539
Swap: 7627 2 7625
答案3
我的建议是运行任何进程资源管理器(例如系统监视器)并检查哪个进程消耗了这么多内存。将其发布在这里,我们会看看您是否可以将其关闭。
附言:好的,我现在明白了。我敢打赌,它的“插件容器”会随着时间的推移而增长,因为它使用内存的方式。我猜是因为它是从 Gill Bates 系统移植过来的;)。杀死它不会有帮助(杀死它会导致每个页面上的所有动画崩溃,主要是广告,但也包括 Youtube 视频)。此外,Chromium 本身会随着时间的推移而膨胀,因此处理它的唯一方法可能是不时重新启动它。看看是否有帮助……