1. 调整Swappiness参数(降低Swap使用倾向)
Swappiness是控制内核使用Swap频率的关键参数,取值范围0-100(默认60)。数值越高,系统越倾向于将内存数据转移至Swap;数值越低,越优先使用物理内存。
sudo sysctl vm.swappiness=10(将值设为10,减少Swap依赖,适合内存充足的系统)。/etc/sysctl.conf文件,添加或修改vm.swappiness=10,保存后运行sudo sysctl -p使更改生效。2. 使用Swap文件替代Swap分区(更灵活的管理方式)
Swap分区调整大小需重新分区,而Swap文件可动态增减,更适合节省空间或优化配置。
sudo fallocate -l 4G /swapfile(若fallocate不可用,用sudo dd if=/dev/zero of=/swapfile bs=1M count=4096替代);设置权限sudo chmod 600 /swapfile(确保仅root可访问);格式化sudo mkswap /swapfile;启用sudo swapon /swapfile。/etc/fstab,添加/swapfile none swap sw 0 0,保存后重启系统即可自动挂载。3. 清除Swap空间(释放已占用的硬盘空间)
若Swap中存储了无用数据,可清除以释放空间(不会影响物理内存中的数据)。
sudo swapoff -a,再重新启用sudo swapon -a(此操作会清空Swap中的所有数据)。4. 删除不必要的Swap文件或分区(彻底释放空间)
若系统有多个Swap文件或分区,且当前Swap使用率极低(如free -h显示Swap使用量远小于总大小),可删除多余的Swap以节省空间。
sudo swapoff -v /swapfile(关闭Swap),再用sudo rm /swapfile删除文件;编辑/etc/fstab,删除或注释对应的Swap条目。gparted等磁盘工具删除Swap分区(需提前禁用Swap),然后调整分区表并重新分配空间。5. 使用zram(压缩内存作为Swap,零额外硬盘空间)
zram是Linux内核模块,可将部分内存压缩为Swap空间,无需占用硬盘空间,适合内存较小但需要更多Swap的场景。
sudo apt update && sudo apt install zram-config;安装完成后,系统会自动创建zram设备并启用Swap(可通过lsblk查看zram设备)。6. 优化物理内存使用(从根源减少Swap需求)
Swap的使用本质是物理内存不足,优化内存使用可降低Swap依赖:
htop或top查看内存占用高的进程,结束无用进程(如kill -9 <PID>)。apt autoremove删除无用软件包,用bleachbit清理缓存和临时文件。