Swap(交换空间)是Linux系统的重要内存管理机制,核心作用包括:防止OOM(内存耗尽崩溃)、平滑处理内存峰值、支持系统休眠。但需注意其负面影响:访问速度远慢于物理内存(HDD延迟约1-10ms,SSD约0.1-1ms)、频繁写入会增加磁盘磨损(尤其是HDD)、占用宝贵磁盘空间。
Swap大小需结合物理内存容量和系统用途调整,避免过大或过小:
# 创建10GB交换文件(使用fallocate,速度快;若不可用则用dd)
sudo fallocate -l 10G /swapfile
# 或用dd命令(速度慢,但兼容性好)
# sudo dd if=/dev/zero of=/swapfile bs=1G count=10
# 设置严格的权限(仅root可读写)
sudo chmod 600 /swapfile
# 格式化为交换空间
sudo mkswap /swapfile
# 激活交换空间
sudo swapon /swapfile
# 验证是否激活
swapon --show # 查看当前激活的Swap
free -h # 查看内存与Swap使用情况
# 使用fdisk/gparted创建分区(如/dev/sdaX)
sudo fdisk /dev/sda # 按提示创建分区(类型选"82 Linux swap")
# 格式化分区为Swap
sudo mkswap /dev/sdaX
# 激活分区
sudo swapon /dev/sdaX
编辑/etc/fstab文件,添加对应行:
/swapfile none swap sw 0 0/dev/sdaX none swap sw 0 0sudo swapon -a即可生效。swappiness参数(范围0-100)控制内核使用Swap的倾向:
sudo sysctl vm.swappiness=10
/etc/sysctl.conf,添加或修改:vm.swappiness=10
执行sudo sysctl -p使更改生效。定期监控Swap状态,及时发现异常:
free -h # 显示内存与Swap的总量、已用、空闲
swapon --show # 显示激活的Swap文件/分区及大小
cat /proc/swaps # 查看Swap的详细信息(如优先级)
top或htop命令(按Shift+M排序内存使用,观察Swap列)。fstrim定期维护);