我有 6GB RAM,运行 Ubuntu 11.10 的 i5 2.4GHZ 处理器。我对我的 HD 进行了分区,以便我有 8GB 的交换空间。
当在线流式传输或在 Chromium 中打开多个选项卡时,我的缓存中很快就会有 4GB 内存。我认为这会使我的笔记本变慢。流式传输视频时,几分钟后它真的会变慢并绊倒/抽搐。
可能是什么问题?我该如何解决这个问题?
PS:最初我有 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
Run Code Online (Sandbox Code Playgroud)
ams*_*ams 13
缓存数据是 RAM应该使事情更快,而不是更慢 - 当您有未使用的内存时从磁盘重复获取内容只是愚蠢的。但是,如果您溢出到交换空间,则会影响性能。您可以通过运行System Monitor. 如果问题开始时交换空间图没有上升,则问题与内存无关。
当然,当你流式传输视频时,它会被缓存在内存中,但它需要相当多的视频来填充 6Gb!我预计下载这么多数据不仅需要几分钟的时间,而且导致问题的时间也更长!
你确定不是别的问题吗?说,也许冷却?与冷却系统相比,许多笔记本电脑的处理器规格过高。这很好 - 它提供了高峰值性能,适用于突发流量,同时保持流量下降 - 但在被迫回拨时钟速率或融化之前,它无法长时间保持性能。视频可能会占用相当多的处理器,所以您永远不知道?
无论如何,您应该能够从内存使用情况中看到它是否正在交换。如果是,那就是软件问题,可以修复。:)
Car*_*rlo 12
我有同样的问题,似乎缓存从未被释放......一个例子是当我检出一个存储库并最终得到 4GB 的缓存时
例子:
$ free -m
total used free shared buffers cached
Mem: 7949 7425 523 0 112 4433
-/+ buffers/cache: 2879 5069
Swap: 7627 2 7625
Run Code Online (Sandbox Code Playgroud)
我所做的是运行下面的代码(注释只是为了让您知道发生了什么),您可以创建一个脚本,以便您可以在需要时运行它:
# 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
Run Code Online (Sandbox Code Playgroud)
在我运行上面的代码之后:
$ free -m
total used free shared buffers cached
Mem: 7949 2820 5129 0 2 407
-/+ buffers/cache: 2409 5539
Swap: 7627 2 7625
Run Code Online (Sandbox Code Playgroud)
我的建议是运行任何进程资源管理器(例如系统监视器)并检查消耗如此多内存的进程。将其发布在这里,我们会看看您是否可以将其关闭。
附:好的,我现在明白了。我敢打赌,由于它使用内存的方式,它的“插件容器”会随着时间的推移而增长。我猜这是因为它是来自吉尔·贝茨系统的端口;)。杀死它不会有帮助(杀死它会让每个页面上的所有动画崩溃,主要是广告,还有 Youtube 视频)。此外,Chromium 本身喜欢随着时间的推移而膨胀,因此处理它的唯一方法可能是不时重新启动它。看看有没有帮助...