[ 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
posted @ 2023-03-26 21:14  YEUNGCHIE  阅读(152)  评论(0编辑  收藏  举报