linux中swap类似win的虚拟内存,当物理内存不足时会把进程暂时不用的内存放入磁盘,进程再次访问这些内存时从磁盘中取出来,解决内存不足的问题。 swap触发条件 1.大块内存分配请求 2.kswapd0定期扫描,查看内存是否紧张,内存紧张时进行回收。具体回收条件可通过cat /proc/sys/vm/min_free_kbytes查看页最小阈值(pages_min),其中页最小阈值(pages_low)=pages_min*5/4,和页高阈值(pages_high)=pages_min*3/2,当现有内存处于pages_min与pages_low区间时,kswapd0会执行回收内存。 开启swap 1.创建文件 :fallocate -l 2G /data/swapfile 2.创建交换分区: mkswap /data/swapfile 3.开启swap:swapon /data/swapfile,开启后可通过free验证 关闭swap swapoff -a swap使用统计 使用sar -S 1 每秒统计一次swap使用情况 或使用for file in /proc/*/status ; do awk '/VmSwap|Name|^Pid/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 3 -n -r | head查看各进程使用swap情况 |
|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )
GMT+8, 2024-12-23 23:28 , Processed in 0.042779 second(s), 17 queries .
Powered by Mxzdjyxk! X3.5
© 2001-2024 Discuz! Team.