Debian Swapper最佳配置参数指南
交换空间大小需结合物理内存、系统用途及性能需求调整,核心原则如下:
vm.swappiness参数控制内核使用交换空间的倾向(取值范围0-100,默认60),数值越低越依赖物理内存,减少磁盘IO;数值越高越倾向于交换,可能降低性能。
sudo sysctl vm.swappiness=10。/etc/sysctl.conf文件,添加vm.swappiness=10,然后执行sudo sysctl -p使配置生效。fdisk/parted创建分区(类型码82,Linux swap),格式化后启用。fallocate命令创建(速度快且方便):sudo fallocate -l 4G /swapfile # 创建4GB交换文件
sudo chmod 600 /swapfile # 限制权限(仅root可读写)
sudo mkswap /swapfile # 格式化为交换空间
sudo swapon /swapfile # 启用交换文件
无论使用交换分区还是交换文件,均需添加到/etc/fstab文件,确保系统重启后自动加载:
/swapfile none swap sw 0 0(替换为实际路径)。/dev/sdaX)或UUID(推荐,通过blkid命令查看):/dev/sdaX none swap sw 0 0
# 或
UUID=xxxx-xxxx-xxxx-xxxx none swap sw 0 0
当系统有多个交换空间(如多个交换分区或交换文件)时,可通过pri参数设置优先级(数值越大,优先级越高)。系统会优先使用高优先级交换空间,直到其耗尽后再使用低优先级空间。
swapon -p命令(如sudo swapoff /dev/sdaX && sudo swapon -p 10 /dev/sdaX)。/etc/fstab中对应条目添加pri=10选项:/dev/sdaX none swap sw,pri=10 0 0
定期监控交换空间使用情况,及时调整策略:
free -h:快速查看内存与交换空间总量、已用/空闲情况。swapon --show:显示交换空间详情(大小、类型、优先级)。vmstat 1命令(每秒刷新),关注si(swap in,从磁盘交换到内存的数据量)和so(swap out,从内存交换到磁盘的数据量)列。数值过高表示系统频繁交换,需优化(如增加内存、调整swappiness)。top或htop查看),可优化该进程(如减少内存占用)或终止异常进程。