Ubuntu Swapper(交换空间)设置步骤
在配置前,先确认系统是否已有交换空间及当前状态,避免重复操作:
sudo swapon --show # 查看已启用的交换空间详情
sudo fdisk -l # 查看磁盘分区情况(确认未分配空间)
cat /proc/swaps # 查看交换空间的内核级信息
交换文件是Ubuntu中最常用的交换空间类型,适用于物理分区不足或需要动态调整大小的场景。
fallocate命令(快速,推荐)或dd命令(兼容性好)创建文件(例如4GB):sudo fallocate -l 4G /swapfile # 推荐:快速创建指定大小的文件
# 若fallocate不可用,使用dd命令:
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 # 创建4GB(4096MB)文件
sudo chmod 600 /swapfile
mkswap命令将文件转换为交换格式:sudo mkswap /swapfile
sudo swapon /swapfile
/etc/fstab文件,添加以下行(确保系统重启后自动加载):echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# 或使用文本编辑器(如nano):
sudo nano /etc/fstab # 在文件末尾添加上述行,保存退出
若系统有未分配的磁盘空间,可创建专用交换分区(性能略优于交换文件,但调整大小麻烦)。
fdisk工具操作目标磁盘(如/dev/sda,请根据实际情况替换):sudo fdisk /dev/sda
n创建新分区,选择p(主分区)或e(扩展分区),设置分区号(如1);+2G表示2GB);t更改分区类型,输入82(Linux swap类型);w保存并退出(分区表将自动更新)。/dev/sda1)格式化为交换格式:sudo mkswap /dev/sda1
sudo swapon /dev/sda1
/etc/fstab文件,添加以下行:/dev/sda1 none swap sw 0 0 # 替换为实际分区名称
无论使用文件还是分区,均需确认配置成功:
sudo swapon --show # 应显示已启用的交换空间(文件或分区)
free -h # 查看内存与交换空间总用量(Swap列应有数值)
cat /proc/swaps # 内核级交换空间信息(应包含新增的交换文件/分区)
swappiness控制内核将内存数据移至交换空间的倾向(默认值60,范围0-100)。值越低,系统越倾向于保留内存中的数据。
cat /proc/sys/vm/swappiness
sudo sysctl vm.swappiness=10 # 推荐值:10-30(内存充足时可设为10)
/etc/sysctl.conf,添加:vm.swappiness=10
zram-config)并修改内核参数,具体步骤可参考Ubuntu官方文档。sudo swapoff /swapfile # 关闭交换文件
sudo fallocate -l 8G /swapfile # 扩大至8GB(示例)
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
fdisk删除原分区并创建更大分区,再重新格式化启用(步骤参考“创建交换分区”)。swappiness值或使用zram减少磁盘IO。