Bha*_*aju 54 bash kernel memory cache software-recommendation
系统启动后,几分钟后我的内存缓存填满并开始使用交换。这是 /proc/meminfo 的屏幕截图。
但是,如果我可以在此之后禁用此进程/清理缓存一次,我认为我的系统会在一定程度上加快速度。如果我在这里错了,请纠正我。
我也尝试过 Bleachbit 内存清理,但它似乎没有正确清理内存缓存。此外,该功能仍处于试验阶段。
这里已经发布了一个类似的问题:如何禁用预取缓存?,但它是关于 Ubuntu Server 的,而且答案还涉及手动设置等。
所以,我想知道是否有一些软件可以禁用/启用 Ubuntu 12.04 的内存缓存。
ish*_*ish 63
注意: Linux 不会“吃掉”你的 RAM!请查看下面Geirha 的出色回答,以了解为什么...
在上面的注释之后,如果你仍然觉得“清理”缓存有帮助,你当然可以尝试:它是终端的单行:
sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
Run Code Online (Sandbox Code Playgroud)
没有简单的方法可以禁用缓存,但是如果您想,可以通过每分钟清理一次来达到相同的效果:
让它成为一项定时工作
按Alt-F2
,键入gksudo gedit /etc/crontab
,然后在底部附近添加以下行:
*/15 * * * * root sync && echo 3 > /proc/sys/vm/drop_caches
这将每 15 分钟清洁一次。如果您真的想 通过将第一个参数更改为*
或*/5
代替,您可以设置为 1 或 5 分钟*/15
Geirha 的回答解释了详细信息,但简而言之,您可以通过以下方式获得免费兆字节数:
free -m | sed -n -e '3p' | grep -Po "\d+$"
Run Code Online (Sandbox Code Playgroud)
在我的 2GB 命令行服务器上返回一个非常健康的1835
.
gei*_*rha 55
www.linuxatemyram.com以常见问题的形式很好地解释了这一点,要点是:
这是怎么回事?
Linux 借用未使用的内存用于磁盘缓存。这使得看起来您的内存不足,但事实并非如此!一切安好!
为什么要这样做?
磁盘缓存使系统更快!除了让新手感到困惑之外,没有任何缺点。它不会以任何方式占用应用程序的内存,永远!
如果我想运行更多应用程序怎么办?
如果您的应用程序需要更多内存,它们只需取回磁盘缓存借用的块。磁盘缓存总是可以立即返回给应用程序!你的内存不低!
我如何查看我真正拥有多少可用内存?
要查看您的应用程序在不交换的情况下可以使用多少内存,请运行 free -m 并查看“可用”列:
$免费 -m 可用的免费共享 buff/缓存总数 电话:1504 1491 13 0 855 792 掉期:2047 6 2041这是您的答案(以兆字节为单位)。
来源:如前所述,优秀的www.linuxatemyram.com -- 请访问以获取更多信息。
检查您当前的内存使用情况
watch -n 1 free -m
Run Code Online (Sandbox Code Playgroud)
或者
watch -n 1 cat /proc/meminfo
Run Code Online (Sandbox Code Playgroud)
释放空间
sudo sysctl -w vm.drop_caches=3
Run Code Online (Sandbox Code Playgroud)
注意:此操作不会使您的系统更快,也不会影响其稳定性和性能,它只会清理 Linux 内核在缓存上使用的内存。
或者
sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
Run Code Online (Sandbox Code Playgroud)
注意:您可以使用 cron 作业来安排上述命令以特定时间间隔运行。
归档时间: |
|
查看次数: |
154960 次 |
最近记录: |