服务器Swap管理指南
在服务器管理中,**交换空间(Swap)**是硬盘上的一个区域。当物理内存(RAM)不足时,操作系统会将部分不常用的数据临时存放到交换空间,以保障系统的稳定运行。本文将介绍在不同操作系统下,如何查看和配置 Swap 空间,帮助你更好地管理服务器资源。
1. 手动添加 Swap 交换分区
1.1 查看当前 Swap 空间大小
使用以下命令可以快速查看当前 Swap 空间的使用情况:
free -h1.2 创建和配置 Swap 文件
按照以下步骤为服务器添加新的 Swap 空间:
- 创建交换文件
以 1GB 为例,执行:
fallocate -l 1G /swapfile- 设置交换文件权限
仅允许 root 用户访问,保障安全:
chmod 600 /swapfile- 将文件标记为交换空间
mkswap /swapfile- 启用交换空间
swapon /swapfile1.3 设置 Swap 空间开机自动挂载
- 编辑 fstab 文件:
vim /etc/fstab- 在文件末尾添加以下内容,使 Swap 文件在每次开机时自动启用:
/swapfile none swap defaults 0 01.4 调整 Swap 使用策略(可选)
- swappiness 参数用于控制系统对 Swap 的使用倾向,范围为 0-100。值越大,系统越倾向于使用 Swap;值越小,则优先使用物理内存。
- 临时调整(立即生效,重启后失效):
sysctl vm.swappiness=10- 永久调整(重启后依然生效):
- 编辑配置文件 /etc/sysctl.conf,添加或修改以下行:
vm.swappiness = 10- 保存后执行以下命令使设置立即生效:
sysctl -p小结
通过以上步骤,你可以灵活管理服务器的 Swap 空间,提升系统的稳定性和性能。
2. 脚本添加 Swap 交换分区
2.1 创建脚本文件
- 新建脚本文件:
vim add_swap.sh- 将以下内容粘贴至脚本文件并保存:
#!/bin/bash
fallocate -l 4G /swapfile || dd if=/dev/zero of=/swapfile bs=1M count=4096
# 设置权限
chmod 600 /swapfile
# 格式化为 swap
mkswap /swapfile
# 启用 swap
swapon /swapfile
# 设置开机自动挂载
grep -q '^/swapfile' /etc/fstab || echo '/swapfile none swap sw 0 0' >> /etc/fstab
# 可选:降低 swap 使用优先级(更倾向用物理内存)
sysctl vm.swappiness=10
echo 'vm.swappiness=10' >> /etc/sysctl.conf
# 增加对元数据缓存的保护,减少机械硬盘 IO 压力
sysctl vm.vfs_cache_pressure=50
grep -q 'vm.vfs_cache_pressure' /etc/sysctl.conf || echo 'vm.vfs_cache_pressure=50' >> /etc/sysctl.conf
# 显示 swap 信息确认
echo -e "\n✅ Swap 添加完成,当前状态如下:"
swapon --show
free -h2.2 赋予脚本执行权限并运行
在终端执行以下命令:
chmod +x add_swap.sh && sudo ./add_swap.sh2.3 脚本执行后输出示例
运行脚本后,终端会显示如下信息:
sudo: unable to resolve host host-192-168-6-20: Name or service not known
Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
no label, UUID=993cae10-5ea9-412d-90bb-5ce7241440c1
vm.swappiness = 10
✅ Swap 添加完成,当前状态如下:
NAME TYPE SIZE USED PRIO
/swapfile file 4G 0B -2
total used free shared buff/cache available
Mem: 972Mi 380Mi 541Mi 548Ki 189Mi 592Mi
Swap: 4.0Gi 0B 4.0Gi2.4 查看内存与 Swap 状态
使用如下命令检查内存和 Swap 状态:
free -h输出示例:
total used free shared buff/cache available
Mem: 972Mi 381Mi 540Mi 548Ki 189Mi 591Mi
Swap: 4.0Gi 0B 4.0Gi3. 小结
- 通过上述脚本可一键配置 4G Swap 文件,提升服务器内存管理能力。
- 推荐在内存较小的 VPS 或开发环境中使用,操作简便、安全高效。
- 若需调整 Swap 大小,只需修改脚本中的 4G 和 count=4096参数即可。