机器学习和生物信息学实验室论坛联盟MAchine Learning And Bioinformatics, MALAB
查看: 4502|回复: 2

清理内存

[复制链接]
发表于 2012-11-1 18:42:53 | 显示全部楼层 |阅读模式
有时候top一下,发现明明没有什么程序在跑,但内存used远大于free,怎么办?

释放cache就行,运行

echo 1 > /proc/sys/vm/drop_caches

再top一下,看看?
回复

使用道具 举报

发表于 2012-11-2 09:39:01 | 显示全部楼层
服务器就是这样的....
Linux和windows服务器不一样的地方是,
Linux上次程序运行结束的内存映像驻留在内存中,当下一次这个程序再跑起来就会很快。然而,如果内存占满的情况下新的程序想跑,就要清理一部分驻留内存的缓存。所以,linux中跑过的程序再跑会开始比较快,而新的程序跑开始比较慢。(这个和安卓手机系统很像,因为安卓也是linux)

windows系统总会留出一部分空闲空间给新的程序跑,如果正在跑的程序内存需要很大,会让一部分内存进入虚拟内存,需要的时候再取出。因此,windows新的程序跑起来比较快,跑过的程序再跑起来也和重新跑一样。windows也会驻留一部分内存,但是,这部分优先级较低,很容易就被换出去了。
回复

使用道具 举报

 楼主| 发表于 2019-7-8 09:13:20 | 显示全部楼层
如果权限不够就

sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关注公众号
机器学习和生物信息学实验室联盟

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
返回顶部