swap分区学习笔记

swap space 是磁盘上的一块区域,可以是一个分区,也可以是一个文件。所以具体的实现可以是 swap 分区也可以是 swap 文件。当系统物理内存吃紧时,Linux 会将内存中不常访问的数据保存到 swap 上,这样系统就有更多的物理内存为各个进程服务,而当系统需要访问 swap 上存储的内容时,再将 swap 上的数据加载到内存中,这就是常说的换出和换入。交换空间可以在一定程度上缓解内存不足的情况,但是它需要读写磁盘数据,所以性能不是很高。

当内存不够用的时候会用到Swap分区,什么叫做不够用,由Swappiness参数来定。

Swappiness 可以设置为 0 到 100 之间的值。

  • swappiness=0: 表示最大限度使用物理内存,然后才是 swap空间,
  • swappiness=100: 表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。

linux的基本默认设置为60,内存在使用到100-60=40%的时候,就开始出现交换分区的使用。内存的速度会比磁盘快很多,这样会加大系统io,同时造成大量页的换进换出,严重影响系统的性能。

查看系统上的当前 swappiness 值:

cat /proc/sys/vm/swappiness

sysctl vm.swappiness

可以在 /etc/sysctl.conf 文件中设置 swappiness

min_free_kbytes 表示给系统内核预留的最小内存空间。min_free_kbytes 设置的较大时,意味着会较早地启动 kswapd(linux中用于内存页回收的内核线程)进行内存页回收,会回收较多的空闲内存。但是如果设置得过大,反而会导致预留给应用程序的内存过少,导致频繁出现OOM,也会存在一定的内存资源浪费。min_free_kbytes 设置的过小,会导致系统预留的内存较小,就会导致系统频繁触发内存压缩。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值