Linux内存清理
来源:互联网 发布:mac os x 10.11黑苹果 编辑:程序博客网 时间:2024/06/05 17:17
Linux内存清理
一、手动清理
- Writing tothis will cause the kernel to drop clean caches, dentries and inodesfrom memory, causing that memory to become free.
- To free pagecache:
- * echo1>/proc/sys/vm/drop_caches
- To free dentriesand inodes:
- * echo2>/proc/sys/vm/drop_caches
- To free pagecache, dentries and inodes:
- * echo3>/proc/sys/vm/drop_caches
- Asthisis a non-destructive operation,and dirty objects are notfreeable, the user should run "sync" firstin order to make sure allcached objects are freed.
- This tunable was addedin2.6.16.
这里有三个级别可以使用。使用1时只清理pagecahe ,使用2清理dentries和inodes(也就是slab缓存,查看方式为:cat /proc/meminfo,SReclaimable表示可回收的内存) ,使用3时三者都清理。
由于这是一个非破坏性操作而且脏对象不会被释放,因此应当先执行”sync“后再设置这个参数。
二、自动清理
/proc/sys/vm/min_free_kbytes
该文件表示强制Linux VM最低保留多少空闲内存(Kbytes)。
当可用内存低于这个参数时,系统开始回收cache内存,以释放内存,直到可用内存大于这个值。
vm.min_free_kbytes=4096000 //单位 kb
vm.swappiness=40
vm.vfs_cache_pressure=200
说明:
1.调整min_free_kbytes的目的是保持物理内存有足够的空闲空间,防止突发性的换页。
2.swapiness缺省为60,减少swapiness会使系统尽快通过swapout不使用的进程资源来释放更多的物理内存。
3.vfs_cache_pressure的缺省值是100,加大这个参数设置了虚拟内存回收directory和i-node缓冲的倾向,这个值越大,回收的倾向越严重。调整这3个参数的目的就是让操作系统在平时就尽快回收缓冲,释放物理内存,这样就可以避免突发性的大规模换页。
减少vfs_cache_pressure的值,会导致内核倾向于保留dentry和inode缓存。
增加vfs_cache_pressure的值,(即超过100时),则会导致内核倾向于重新声明dentries和inodes
总之,vfs_cache_pressure的值:
小于100的值不会导致缓存的大量减少
超过100的值则会告诉内核你希望以高优先级来清理缓存。
其实无论vfs_cache_pressure的值采用什么值,内核清理缓存的速度都是比较低的。
如果将此值设置为10000,系统将会将缓存减少到一个合理的水平。
三、查看空闲内存阈值:
sysctl -a | grep min_free_kbytes
具体设置【重启失效】:
echo 1024000 > /proc/sys/vm/min_free_kbytes //设置1G的阈值
echo 200 > /proc/sys/vm/vfs_cache_pressure
echo 40 > /proc/sys/vm/swappiness
或
sysctl -w vm.min_free_kbytes=1024000
sysctl -w vm.vfs_cache_pressure=200
sysctl -w vm.swappiness=40
那么Linux空闲内存=102400kb+原始预留空闲内存(如我的是700M左右)
阅读全文
1 0
- linux清理内存命令
- linux清理内存
- linux清理内存命令
- linux手动清理内存
- 清理linux内存cache
- linux清理内存命令
- linux 清理 内存
- linux内存清理
- Linux内存清理
- linux系统内存清理
- 清理linux内存cache
- linux清理内存
- linux清理内存命令
- linux内存清理命令
- Linux清理内存命令
- linux内存清理
- linux内存清理
- linux清理内存命令
- 8.自定义函数综合应用示例
- python sort、sorted高级排序技巧
- [codefoces439C]The Intriguing Obsession(组合数学)
- 一、创建Assetbundle 在unity3d开发的游戏中,无论模型,音频,还是图片等,我们都做成Prefab,然后打包成Assetbundle,方便我们后面的使用,来达到资源的更新。
- 日期控件
- Linux内存清理
- 二叉搜索树转化为双向链表
- mysql建表date类型不能设置默认值
- Different Ways to Add Parentheses
- 虽然不简单但还是要学的JavaWeb—配置环境
- 学习笔记之初识Python
- c#操作excel文件模板
- Joda-Time用户指导
- 执行mvn 报错 source-1.5 中不支持 diamond运算符