[ Linux ] swap 分区优化
https://www.cnblogs.com/yeungchie/
swappiness
This control is used to define how aggressive the kernel will swap memory pages. Higher values will increase aggressiveness, lower values decrease the amount of swap. A value of 0 instructs the kernel not to initiate swap until the amount of free and file-backed pages is less than the high water mark in a zone.
所以当 swappiness 值越大时,系统使用 swap 分区的策略越“激进”。
查看 swappiness
cat /proc/sys/vm/swappiness
# 60
或者
sysctl vm.swappiness
# vm.swappiness = 60
这个值在 DSM 上默认是 60,当你的物理内存足够大时,可以适当改小。
我的内存是 20G,对于家用 NAS 来说足够了,所以我改成 10
。
临时修改
sysctl -w vm.swappiness=10
永久修改
- 修改文件 /etc/sysctl.conf
vm.swappiness=10 # 修改或添加这一行参数
- 激活
sysctl -p
清空 swap 分区
swapoff -a # 关闭所有 swap 分区
swapon -a # 激活所有 swap 分区
查看内存
查看内存使用情况
free -h
查看 swap 分区
cat /proc/swaps
动态查看 swap 分区
vmstat
vmstat 1 # 1s 刷新
vmstat 1 10 # 1s 刷新,共 10 次
创建 swap 分区
创建卷
mkdir /swap
dd if=/dev/zero of=/swap/swapadd bs=1024 count=4194300 # 创建一个 4G 的卷到 /swap/swapadd
创建 swap
mkswap /swap/swapadd
启用 swap
swapon /swap/swapadd
关闭 swap
swapoff -v /swap/swapadd