在管理Swap前,需先了解系统当前Swap状态,常用命令如下:
sudo swapon --show:显示已启用的Swap分区/文件详情(如设备名、大小、类型)。free -h:以人类可读格式(GB/MB)展示内存与Swap使用情况(包括总大小、已用、空闲)。top/htop:实时监控系统资源占用,查看Swap使用率(按Shift+M按内存排序进程)。若需创建Swap分区(适用于长期固定分配的场景),需通过分区工具(如fdisk)操作:
sudo fdisk -l,找到目标磁盘(如/dev/sda,需确保磁盘有足够未分配空间)。sudo fdisk /dev/sda进入分区工具。n创建新分区,选择p(主分区)或e(扩展分区),设置分区号(如1)。+2G表示2GB)。t更改分区类型,输入82(Linux swap类型代码)。w保存并退出(分区表将自动更新)。sudo mkswap /dev/sda1(将/dev/sda1替换为实际分区名),将分区格式化为Swap格式。sudo swapon /dev/sda1,立即激活Swap分区。/etc/fstab文件(sudo nano /etc/fstab),在末尾添加一行:/dev/sda1 none swap sw 0 0(确保系统重启后自动启用该分区)。若无需新增磁盘分区,可通过Swap文件快速创建Swap空间(推荐用于临时扩展或SSD设备):
sudo fallocate -l 2G /swapfile(创建2GB的Swap文件,fallocate效率高于dd);若fallocate不可用,用dd替代:sudo dd if=/dev/zero of=/swapfile bs=1M count=2048(bs=1M表示块大小,count=2048表示2048块=2GB)。sudo chmod 600 /swapfile(仅root用户可读写,防止安全风险)。sudo mkswap /swapfile,将文件格式化为Swap格式。sudo swapon /swapfile,激活Swap文件。/etc/fstab文件,添加一行:/swapfile none swap sw 0 0(确保重启后自动启用)。sudo swapoff /dev/sda1(替换为实际分区名)。sudo swapoff /swapfile。sudo swapoff /dev/sda1。fdisk /dev/sda进入工具,输入d删除对应分区(如1),输入w保存。sudo swapoff /swapfile。sudo rm /swapfile。sudo swapoff /swapfile。sudo fallocate -l 4G /swapfile(从2GB扩大到4GB)。sudo mkswap /swapfile。sudo swapon /swapfile。/etc/fstab(保持原路径不变)。fdisk/parted删除原分区并创建更大分区,再格式化启用(操作复杂,建议备份数据)。缩小Swap空间风险较高,易导致数据丢失,不建议常规操作。若必须缩小:
fdisk/parted缩小分区(需确保分区有足够空闲空间)。swappiness是内核参数,控制系统使用Swap的倾向(默认值60,范围0-100):
cat /proc/sys/vm/swappiness。sudo sysctl vm.swappiness=10(值越小,越少使用Swap)。/etc/sysctl.conf,添加vm.swappiness=10,运行sudo sysctl -p生效。通过以上步骤,可完成Debian系统中Swap分区/文件的创建、管理与优化,确保系统在内存不足时稳定运行。