交换空间的作用

当系统需要比物理内存更多的内存空间的时候,内核会把内存里边使用率较少的内存页面转移至到交换空间,以腾出物理内存给当前应用来快速运行。交换空间可以是磁盘的一个分区,也可以是一个文件。

下面主要分享如何配置文件形式的交换空间~

添加交换空间

1.判断系统是否配置交换空间

在操作之前先查看系统当前是否有配置交换空间,可以通过以下两条命令判断:

# 查看内存使用情况
free -m

# 查看启用的交换空间
swapon --show

如果以上两条命令检查出没有交换空间,进行下一步操作。

2.创建 swap 交换空间文件

使用 dd 命令在根目录创建名为 swap 的空文件

dd if=/dev/zero of=/swap bs=1M count=1024
Tips:/dev/zero 是一个特殊的字符设备文件,当我们使用或读取它的时候,它会提供无限连续不断的空的数据流。以上命令将会创建每块大小为 1M,块数量为 1024,合计容量为1GB的空文件(文件大小=块大小*块数量)

设置swap文件权限(仅属主有读写权限)

chmod 600 /swap

将文件格式化为swap交换空间

mkswap /swap

使用创建的 /swap 文件,激活为交换空间

swapon /swap

查看系统交换空间配置状况

swapon --show

执行这条命令后如果输出内容中显示有 /swap 的交换空间,说明已经成功启用。

3.设置自动激活交换空间文件

通过以上的操作已经成功添加交换空间,但是重启后会失效,原因是系统没有配置启动后自动挂载。

使用 nano 编辑系统配置文件

nano /etc/fstab

添加以下代码到配置文件底部

# Swap Settings
/swap swap swap defaults 0 0

重启 VPS ,重启后查看内存和交换空间情况,确保 swap 有自动激活。

重启:reboot

检查内存状态:free -m

查看启用的交换空间:swapon --show

调整Swappiness值

swappiness 是 Linux 的内核参数,用于控制换出运行时内存的相对权重。该参数值可设置范围在0到100之间。低参数值会让内核尽量少用交换,更高参数值会使内核更多的去使用交换空间。

swappiness 不能设置得太高或太低,太高的值会受硬盘速度影响拖慢系统,太低的值会导致内存占满了还没调用交换空间。

1.检查当前的swappiness值

cat /proc/sys/vm/swappiness

输出结果:60

2.设置 swappiness 值

编辑系统配置文件

nano /etc/sysctl.conf

在底部添加以下内容

# Swappiness Settings
vm.swappiness=50

重新加载系统配置

sysctl -p
最后修改:2023 年 10 月 11 日
如果觉得我的文章对你有用,请随意赞赏