Ubuntu Swap在虚拟机中的使用指南
Swap(交换空间)是Ubuntu虚拟机在物理内存(RAM)不足时的关键缓冲机制,通过在磁盘上开辟额外空间暂存闲置内存页,避免系统因内存耗尽崩溃。其具体应用场景包括:
在终端运行以下命令,查看系统是否已启用Swap及使用详情:
sudo swapon --show # 显示当前启用的Swap分区/文件
free -h # 查看内存与Swap的总使用量(人类可读格式)
若无输出,则表示未启用Swap。
相较于传统分区,Swap文件更灵活,可随时调整大小。以创建4GB Swap文件为例:
sudo fallocate -l 4G /swapfile # 使用fallocate快速分配空间(若未安装,可改用`dd if=/dev/zero of=/swapfile bs=1M count=4096`)
sudo chmod 600 /swapfile # 设置严格权限(仅root可读写,防止安全风险)
sudo mkswap /swapfile # 格式化Swap文件(转换为交换空间格式)
sudo swapon /swapfile # 启用Swap文件
编辑/etc/fstab文件(使用sudo nano /etc/fstab或sudo vim /etc/fstab),在末尾添加以下行,确保系统重启后自动启用Swap:
/swapfile none swap sw 0 0
保存并退出编辑器。
再次运行sudo swapon --show或free -h,确认Swap文件已启用并显示正确大小。
Swappiness控制内核将内存页交换到磁盘的倾向(取值范围0-100,默认60)。值越高,系统越倾向于使用Swap;值越低,越优先保留内存中的数据。
cat /proc/sys/vm/swappinesssudo sysctl vm.swappiness=10(建议值:桌面系统10-30,服务器10以下)/etc/sysctl.conf,添加vm.swappiness=10。定期使用以下命令监控Swap占用,及时发现内存瓶颈:
free -h # 查看内存与Swap使用量
swapon --show # 查看Swap启用状态
top # 查看进程内存占用(按M排序)
htop # 更直观的进程监控工具(需安装:sudo apt install htop)
sudo swapoff /swapfile),再用fallocate或dd命令调整文件大小(如sudo fallocate -l 8G /swapfile),最后重新格式化并启用;若需缩小Swap文件,需先清空内容(sudo dd if=/dev/zero of=/swapfile bs=1M count=0),再调整大小。/swapfile)在目标主机上可用。