Ubuntu Swapper(交换空间)启用步骤
在配置前,先确认系统是否已有交换空间,避免重复操作:
sudo swapon --show # 查看已启用的交换空间
# 或
sudo fdisk -l # 查看磁盘分区详情(确认是否有swap分区)
交换文件是动态扩展的灵活方案,无需修改磁盘分区表,适合桌面或云环境。
使用fallocate命令快速创建(若未安装,可改用dd命令):
sudo fallocate -l 4G /swapfile # 创建4GB交换文件(可根据内存大小调整,建议为物理内存的1-2倍)
# 若fallocate不可用,用dd命令:
# sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 # 创建4GB(4096MB)交换文件
交换文件需严格限制访问权限,防止数据泄露:
sudo chmod 600 /swapfile # 仅root用户可读写
将文件转换为交换格式:
sudo mkswap /swapfile # 格式化命令
立即激活交换空间:
sudo swapon /swapfile # 启用交换文件
确认交换空间已生效:
sudo swapon --show # 查看启用的交换空间
# 或
cat /proc/swaps # 查看交换空间详情
free -h # 查看内存与交换空间使用情况
编辑/etc/fstab文件,添加以下行(确保系统重启后自动启用):
sudo nano /etc/fstab # 打开fstab文件
在文件末尾添加:
/swapfile none swap sw 0 0
保存并退出(Ctrl+O→Enter→Ctrl+X)。
若系统有未分配的磁盘空间,可创建专用交换分区,性能优于交换文件。
使用fdisk工具操作(以/dev/sda为例):
sudo fdisk /dev/sda # 启动fdisk工具
按以下步骤操作:
n创建新分区;p创建主分区(或e创建扩展分区);1);+2G表示2GB);t更改分区类型,输入82(Linux swap类型);w保存并退出。将分区格式化为交换格式:
sudo mkswap /dev/sda1 # 替换为你的分区名称(如/dev/sda2)
激活分区:
sudo swapon /dev/sda1 # 替换为你的分区名称
同方法一的步骤5、6(swapon --show验证,编辑/etc/fstab添加/dev/sdXY none swap sw 0 0)。
vm.swappiness参数(控制内核使用交换空间的频率,建议设为10-30):sudo sysctl vm.swappiness=10 # 临时生效
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf # 永久生效
/etc/fstab前建议备份(sudo cp /etc/fstab /etc/fstab.bak);