一、合理分配Swap空间的核心原则
Swap空间的大小需结合物理内存容量、系统用途及是否启用休眠等因素综合判断,避免过大或过小影响性能:
二、创建与配置Swap空间的步骤
Swap文件无需修改分区表,适合需要动态调整的场景:
# 关闭现有Swap(若有)
sudo swapoff -a
# 创建Swap文件(例如10GB,可根据需求调整大小)
sudo fallocate -l 10G /swapfile
# 若fallocate不可用,安装util-linux包:sudo apt install util-linux
# 设置严格权限(防止未授权访问)
sudo chmod 600 /swapfile
# 格式化为Swap文件系统
sudo mkswap /swapfile
# 启用Swap
sudo swapon /swapfile
# 验证启用状态
sudo swapon --show
适合固定分区布局的系统,需使用fdisk/parted工具:
# 使用fdisk创建分区(示例为/dev/sdaX,需替换为实际设备)
sudo fdisk /dev/sda
# 在fdisk中按'n'创建新分区,设置类型为'Linux swap'(类型代码82),保存退出
# 格式化分区
sudo mkswap /dev/sdaX
# 启用分区
sudo swapon /dev/sdaX
编辑/etc/fstab文件,添加对应行:
/swapfile none swap sw 0 0/dev/sdaX none swap sw 0 0sudo swapon -a验证配置是否生效。三、优化Swap使用效率的关键参数
Swappiness值范围为0-100,默认值为60(表示当物理内存使用率达40%时开始使用Swap)。降低该值可减少Swap使用,提升性能(尤其适合内存充足的系统):
# 查看当前值
cat /proc/sys/vm/swappiness
# 临时修改(例如设为10)
sudo sysctl vm.swappiness=10
# 永久修改(编辑/etc/sysctl.conf)
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p # 使修改生效
定期使用以下命令检查Swap状态,及时发现异常:
# 查看Swap总大小、已用空间及使用率
free -h
# 查看详细Swap分区信息(包括设备名、类型、大小)
swapon --show
# 实时监控内存与Swap使用趋势(按q退出)
watch -n 1 'free -h; swapon --show'
四、后续维护建议
/etc/fstab中添加新条目;/etc/fstab中的对应行,再执行sudo swapoff /swapfile(或/dev/sdaX);cryptsetup)。