我知道Ubuntu自动管理内存,它将缓存存储在ram上,以便快速访问程序,但是每次我填充缓存时,它都会被填满,Ubuntu自身无法删除缓存,如果我打开一个程序,计算机会非常慢。我有16 be的内存,我可以使用"sync & echo 3\ sudo tee /proc/sys/vm/drop_ cache“来清除缓存,但是只有在它没有被填满,否则我就无法打开一个终端。同样的笔记本电脑在12.04到13.10之间发生了这种情况,而以前的12.04笔记本电脑就没有发生过这种情况。Linux如何管理缓存中的内存,他如何知道何时删除?我不知道如何解决这个问题。
发布于 2014-03-21 16:17:51
在正常操作期间,不需要手动管理、监视或清除Linux缓存,这样做对性能也没有好处。
缓存的目的是存储最近从磁盘访问的数据,以便以后读取数据的尝试能够更快地完成。这就是为什么第二次加载大型文档的速度通常要快得多的原因。但是,Linux仍然认为内存是“空闲的”,如果需要更多的内存(例如,加载一个新的程序或文档),则可以立即重用该内存,因此清除缓存不会取得任何效果。drop_caches控件的存在是为了帮助开发人员进行基准测试和测试,而不是针对普通用户。
在没有更多信息的情况下,不可能说是什么导致了缓慢的程序加载,但几乎可以肯定的是,这与缓存无关。糟糕的磁盘性能或其他磁盘或CPU密集型进程的存在可能是原因之一。
https://askubuntu.com/questions/437410
复制相似问题