发布于2026-05-21 阅读(0)
扫一扫,手机访问
系统内存不够用,Swap分区又捉襟见肘?这确实是不少运维朋友在服务器高负载时遇到的典型困境。内存抖动、服务响应变慢,往往就是Swap空间不足的信号。别担心,调整Swap大小并非难事,关键在于根据你系统的底层实现方式,选择最合适的那条路径。

下面,我们就来详细拆解五种主流的Swap扩容方法,从最灵活的Swap文件到最彻底的设备替换,总有一种能解决你的问题。
如果你的磁盘分区已经排满,不想动分区表,那么通过文件来扩展Swap是最安全、最可逆的选择。它不涉及底层磁盘结构改动,就像在硬盘上划出一块特定区域专门用于交换。
操作起来也很有条理:首先,得把正在使用的Swap文件停掉(sudo swapoff /usr/swap/swapfile)。为防万一,可以顺手备份一下原文件。接下来,就是核心的扩容步骤了——使用dd命令,创建一个指定大小的新文件(例如,sudo dd if=/dev/zero of=/usr/swap/swapfile bs=1M count=8192 就能得到一个8GB的文件)。文件创建好后,别忘了设置严格的权限(sudo chmod 0600 /usr/swap/swapfile),然后将其格式化为Swap类型并重新启用。最后,用 free -h 看一眼,确认扩容是否成功。
觉得dd命令写零太慢?如果你的文件系统是ext4或XFS这类现代系统,可以试试fallocate命令。它直接分配磁盘空间,跳过了填充数据的步骤,创建大容量Swap文件时速度优势非常明显。
操作前,先用 df -T 确认一下目标目录的文件系统类型是否支持。之后,一条命令就能快速创建文件(比如 fallocate -l 16G /usr/swap/swapfile2)。同样的,设置权限、格式化、启用,一气呵成。用 swapon --show 检查时,你会看到类型为“file”、大小正确的Swap空间。
对于采用LVM(逻辑卷管理)的生产环境服务器,扩容Swap就优雅多了。Swap本身就是一个逻辑卷,扩容时无需担心文件碎片,I/O性能也更稳定,非常适合需要长期稳定运行的服务。
思路很清晰:先找到当前Swap逻辑卷是哪个(swapon --show),然后停用它。接着,使用lvextend命令直接给这个逻辑卷“加容量”(例如 sudo lvextend -L +4G /dev/mapper/klas-swap)。空间扩大后,重新格式化一下,再启用即可。别忘了,最后要检查一下/etc/fstab里的配置,确保重启后还能自动挂载这个扩容后的设备。
有时候,旧的Swap分区实在太小,或者你想重新规划磁盘布局,那么“另起炉灶”新建一个更大的Swap分区是更彻底的办法。这适用于磁盘上还有未分配空间的情况。
这个过程需要谨慎一些:先停用所有Swap空间。然后,使用fdisk或parted工具,在空闲空间上新建一个分区,并将其类型标记为“Linux swap”(82)。完成后,格式化新分区,并启用它作为新的Swap。至此,物理上的Swap设备就已经更新换代了。
无论你用了上述哪种方法,都别忘了最后也是最关键的一步:让配置永久生效。否则,服务器一重启,刚才的辛苦操作可就白费了。
你需要编辑 /etc/fstab 这个文件。根据你采用的是Swap文件还是Swap设备,添加对应的挂载条目。例如,对于Swap文件,添加一行:/usr/swap/swapfile none swap sw 0 0。修改完成后,建议用 sudo mount -a 测试一下配置语法是否正确,再用 cat /etc/fstab | grep swap 确认条目已成功写入。这样,下次启动时,系统就会自动加载正确大小的Swap空间了。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9