Ubuntu Swapper参数调整指南(适配不同需求)
Swap空间是物理内存的扩展,其大小需根据物理内存容量和使用场景调整,避免过大(浪费磁盘空间)或过小(无法应对内存不足)。
sudo swapon --show查看已启用的Swap分区/文件,或free -h查看Swap总大小及使用率。sudo fallocate -l 4G /swapfile # 创建4GB Swap文件(若fallocate不可用,用`dd if=/dev/zero of=/swapfile bs=1M count=4096`) sudo chmod 600 /swapfile # 设置严格权限(仅root可读写) sudo mkswap /swapfile # 格式化为Swap空间 sudo swapon /swapfile # 启用Swap文件 sudo swapoff /swapfile;sudo fallocate -l 8G /swapfile;sudo mkswap /swapfile && sudo swapon /swapfile。sudo swapoff /swapfile && sudo rm /swapfile,并从/etc/fstab中删除对应条目。/dev/sda3),需使用LVM(逻辑卷管理)或fdisk调整: sudo swapoff /dev/vgubuntu/swap_1 # 关闭Swap分区 sudo lvextend -L +2G /dev/vgubuntu/swap_1 # 扩大2GB(根据需求调整数值) sudo mkswap /dev/vgubuntu/swap_1 # 重新格式化 sudo swapon /dev/vgubuntu/swap_1 # 启用 fdisk /dev/sdX删除旧分区、创建新分区(类型为82,Linux swap),然后格式化并启用。/etc/fstab,确保重启后自动启用: /swapfile none swap sw 0 0;UUID=xxxx none swap sw 0 0(UUID通过sudo blkid获取)。Swappiness(默认值60)决定了内核将内存数据换出至Swap空间的倾向,数值越高,越积极使用Swap(可能导致性能下降);数值越低,越优先使用物理内存(适合内存充足的场景)。
cat /proc/sys/vm/swappiness # 临时查看(重启失效) sudo sysctl vm.swappiness=10 # 将值设为10(推荐范围:10-30,内存充足可设为1-10) /etc/sysctl.conf文件,添加或修改以下行:vm.swappiness=10 保存后运行sudo sysctl -p使更改生效。若系统有多个Swap分区/文件,可通过优先级(pri参数)控制其使用顺序:数值越高,优先级越高(内核优先使用高优先级Swap)。
sudo swapoff /dev/sdXY && sudo swapon -p 10 /dev/sdXY # 适用于分区 sudo swapoff /swapfile && sudo swapon -p 10 /swapfile # 适用于文件 /etc/fstab中对应行添加pri=value,例如:/dev/sdXY none swap sw,pri=10 0 0 # 分区 /swapfile none swap sw,pri=10 0 0 # 文件 保存后重启系统或运行sudo swapon -a使更改生效。调整参数后,需定期监控Swap使用情况,确保配置符合需求:
sudo swapon --show # 显示Swap分区/文件及使用量 free -h # 显示内存与Swap总用量及使用率 vmstat命令查看Swap换入换出频率(si=换入内存,so=换出内存):vmstat 1 5 # 每1秒刷新1次,共5次 若si/so值持续较高,说明Swap使用频繁,可能需要扩大Swap空间或降低Swappiness。