修改Linux交换空间的使用率
简单地说这个参数定义了系统对swap的使用倾向,默认值为60,值越大表示越倾向于使用swap。
可以设为0,这样做并不会禁止对swap的使用,只是最大限度地降低了使用swap的可能性。
通过sysctl -q vm.swappiness
可以查看参数的当前设置。
修改参数的方法是修改vi /etc/sysctl.conf
文件,加入vm.swappiness=xxx
,并重起系统。
这个操作相当于是修改虚拟系统中的/proc/sys/vm/swappiness文件,将值改为XXX数值。
如果不想重起,可以通过sysctl -p
动态加载/etc/sysctl.conf
文件,但建议这样做之前先清空swap。
建议设置:vm.swappiness = 10
swap清理代码代码如下:swapoff -a && swapon -a
注意:这样清理有个前提条件,空闲的内存必须比已经使用的swap空间大
内存使用到多少开始使用swap?
vm.swappiness 这个内核参数控制
/proc/sys/vm/swappiness
这个交换参数控制内核从物理内存移出进程,移到交换空间。该参数从0到100,当该参数=0,表示只要有可能就尽力避免交换进程移出物理内存;该参数=100,这告诉内核疯狂的将数据移出物理内存移到swap缓存中。
PS:设置vm.swappiness=0 后并不代表禁用swap分区,只是告诉内核,能少用到swap分区就尽量少用到,设置vm.swappiness=100的话,则表示尽量使用swap分区,默认的值是60
调整内存参数,当内存使用率不足10%(开始是默认值60)时在使用swap,尽量避免使用swap,减少唤醒软中断进程,从而降低ksoftirqd进程对cpu的占用。
关于linux内存分配机制
在linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是读取刚存取过得数据会比较快。
建议继续学习:
- 给代码多留一些空间 (阅读:1287)
- 使用 Ubuntu Cleaner 为 Ubuntu/LinuxMint 释放空间 (阅读:1435)
- 裁剪和空间管理 (阅读:1102)
- Oracle 各种删除操作对空间返还的说明 (阅读:1039)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:寒风 来源: Java地带
- 标签: 使用率 空间
- 发布时间:2018-07-05 13:32:32
- [54] IOS安全–浅谈关于IOS加固的几种方法
- [52] android 开发入门
- [52] 如何拿下简短的域名
- [51] 图书馆的世界纪录
- [49] Oracle MTS模式下 进程地址与会话信
- [49] Go Reflect 性能
- [47] 【社会化设计】自我(self)部分――欢迎区
- [46] 读书笔记-壹百度:百度十年千倍的29条法则
- [37] 程序员技术练级攻略
- [29] 视觉调整-设计师 vs. 逻辑