Ubuntu Swap更新策略
Swap(交换空间)是Ubuntu系统在物理内存(RAM)不足时的重要缓冲机制,其更新策略围绕创建/调整、优化参数、监控维护三个核心维度展开,旨在平衡系统性能与稳定性。
Swap文件具有灵活可调整的特性,是Ubuntu 22.04及以后版本的默认选择。
fallocate命令快速分配指定大小的文件(如16GB),设置严格的权限(仅root可读写),格式化为Swap格式,启用并永久添加到/etc/fstab:sudo fallocate -l 16G /swapfile # 创建16GB Swap文件
sudo chmod 600 /swapfile # 限制权限
sudo mkswap /swapfile # 格式化
sudo swapon /swapfile # 启用
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab # 永久生效
sudo swapoff /swapfile # 关闭
sudo fallocate -l 32G /swapfile # 调整为32GB
sudo mkswap /swapfile # 重新格式化
sudo swapon /swapfile # 启用
缩小Swap文件需更谨慎,建议先备份数据。传统Swap分区适用于固定大小需求,但调整复杂度较高。
fdisk或gparted工具创建新分区(标记为swap类型),格式化并启用:sudo fdisk /dev/sda # 进入分区工具
# 创建新分区(如/dev/sdaX),类型设为"82 Linux swap"
sudo mkswap /dev/sdaX # 格式化
sudo swapon /dev/sdaX # 启用
echo '/dev/sdaX none swap sw 0 0' | sudo tee -a /etc/fstab # 永久生效
fdisk删除旧分区并创建新分区(注意:操作前需备份分区数据),然后重复格式化与启用步骤。swappiness控制内核将内存页交换到Swap空间的倾向,取值范围0-100(默认60)。
sudo sysctl vm.swappiness=10/etc/sysctl.conf,添加vm.swappiness=10,然后运行sudo sysctl -p使配置生效。定期监控Swap状态可及时发现内存瓶颈:
free -h:查看物理内存与Swap的总使用量及剩余量;swapon --show:显示当前启用的Swap设备及大小;top/htop:查看进程级的Swap使用情况(按Shift+M排序内存占用)。/etc/fstab文件,避免配置丢失。fdisk),操作不当可能导致数据丢失,建议提前备份重要数据。swappiness调至更低(如5-10),并定期清理无用进程。