共计 1592 个字符,预计需要花费 4 分钟才能阅读完成。
概述
在 Linux 系统中,Swap 空间是一种虚拟内存,当系统的物理内存(RAM)不足时,操作系统会使用硬盘空间来扩展可用内存。配置 Swap 空间对于确保系统在高负载下稳定运行非常重要。以下是如何在 Linux 系统中配置 Swap 空间的步骤。
开启 swap 空间
-
第一步:检查现有 Swap 空间
在配置新的 Swap 空间之前,首先检查系统中是否已经存在 Swap 空间。
free -h swapon --show
如果已经存在 Swap 空间,
swapon --show
命令会列出所有启用的 Swap 分区和文件。 -
第二步:创建 Swap 文件
如果需要添加 Swap 空间,可以通过创建 Swap 文件来实现。以下是创建 Swap 文件的步骤:
-
使用
dd
命令创建一个 Swap 文件。例如,创建一个大小为 1GB 的 Swap 文件:sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
-
设置 Swap 文件的权限,确保只有 root 用户可以访问:
sudo chmod 600 /swapfile
-
格式化 Swap 文件:
sudo mkswap /swapfile
-
启用 Swap 文件:
sudo swapon /swapfile
-
-
第三步:配置 Swap 持久化
为了确保在系统重启后 Swap 文件仍然可用,需要将 Swap 文件的配置添加到
/etc/fstab
文件中。-
使用文本编辑器打开
/etc/fstab
文件:sudo vi /etc/fstab
-
在文件末尾添加以下行
/swapfile swap swap defaults 0 0
-
保存并关闭文件。
-
-
第四步:验证 Swap 配置
使用以下命令验证 Swap 配置是否生效:
free -h swapon --show
如果 Swap 文件已正确配置,它应该会在输出中显示。
-
第五步:监控 Swap 使用情况
可以使用
vmstat
或top
命令来监控 Swap 空间的使用情况:vmstat -s top
修改 swpapiness 参数
在 Linux 系统中,可以通过查看 /proc/sys/vm/swappiness 内容的值来确定系统对 SWAP 分区的使用原则。当 swappiness 内容的值为 0 时,表示最大限度地使用物理内存,物理内存使用完毕后,才会使用 SWAP 分区。当 swappiness 内容的值为 100 时,表示积极地使用 SWAP 分区,并且把内存中的数据及时地置换到 SWAP 分区。
-
临时修改
# 配置为空闲内存少于 10% 时才使用 SWAP 分区 echo 10 >/proc/sys/vm/swappiness
-
永久修改
若需要永久修改此配置,在系统重启之后也生效的话,可以修改 /etc/sysctl.conf 文件,将
vm.swappiness
修改为vm.swappiness=10
,修改完成后执行下面的命令生效sysctl -p
调整 Swap 空间
如果需要调整 Swap 空间的大小,可以按照以下步骤操作:
-
禁用当前的 Swap 文件:
sudo swapoff /swapfile
-
使用
dd
命令调整 Swap 文件的大小:sudo dd if=/swapfile of=/swapfile.new bs=1M count=2048
-
重命名并重新启用 Swap 文件:
sudo mv /swapfile.new /swapfile sudo swapon /swapfile
-
更新
/etc/fstab
文件中的配置。
关闭 Swap 空间
-
禁用当前的 Swap 文件:
sudo swapoff /swapfile
-
修改 /etc/fstab 文件,删除或注释相关配置,取消 SWAP 的自动挂载
-
检查是否关闭
free -h swapon --show
-
把 swpapiness 参数,设置为
vm.swappiness=0
,修改完成后执行sysctl -p
注意事项
- 确保 Swap 文件的大小不会超过磁盘的可用空间。
- Swap 空间不应该作为物理内存的替代品,它比物理内存慢得多。
- 对于生产环境,建议使用 Swap 分区而不是 Swap 文件,因为分区可以提供更好的性能。
标签:linux
文章来源: Linux 配置 Swap 空间