当前位置:首页>Linux>Linux虚拟内存实战:拯救云服务器内存不足,服务器不再OOM

Linux虚拟内存实战:拯救云服务器内存不足,服务器不再OOM

  • 2026-09-23 14:43:19
Linux虚拟内存实战:拯救云服务器内存不足,服务器不再OOM

博主之前买了个新用户折扣的云服务器,2核2G,价格是真香。结果部署了几个服务后发现内存不够用,动不动就 OOM 崩溃。后来发现一个不花钱的小妙招,加 Swap 虚拟内存,直接用磁盘空间扩展内存。今天就把自己用的方法整理出来分享给大家,命令直接复制就能用。


一、什么是虚拟内存(Swap)

虚拟内存(Swap)是 Linux 利用磁盘空间模拟的内存区域。

当物理内存不足时,系统会将不常用的数据从内存转移到 Swap,腾出空间给活跃进程。


二、创建和启用 Swap 文件

适用场景

  • 折扣服务器内存小(如 2G),但实际需求更大
  • 部署服务后内存不够用,不想花钱升级配置

操作步骤

# 查看内存和 Swap 使用情况free -h# 查看已启用的 Swap 设备/文件swapon --show

以下命令创建一个2GB的 Swap 文件(根据需要调整 count 值):

dd if=/dev/zero of=/swapfile bs=1M count=2048
限制 Swap 文件只能被 root 访问:
chmod 600 /swapfile#格式化 Swap 文件将文件格式化为 Swap 分区格式:mkswap /swapfile#启用 Swap 文件使系统立即使用该 Swap 文件swapon /swapfile

编辑 /etc/fstab,添加:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab#验证配置结果free -hswapon --show
配置成功!

三、调整 Swap 文件大小

如果之前配小了,需要调整大小,按以下步骤操作:

1. 禁用当前 Swap

swapoff /swapfile

2. 删除原 Swap 文件

rm -f /swapfile

3. 创建新大小的 Swap 文件

例如创建4GB:

dd if=/dev/zero of=/swapfile bs=1M count=4096

4. 重新设置权限并启用

chmod 600 /swapfilemkswap /swapfileswapon /swapfile

注意:文件路径没变,无需修改 /etc/fstab。


四、删除 Swap 分区/文件

如果不再需要 Swap,可以移除:

1. 禁用 Swap

# 如果是文件swapoff /swapfile # 如果是分区(X 替换为具体盘符,如 sda5)swapoff /dev/sdX

2. 删除 fstab 条目

编辑 /etc/fstab,删除包含 Swap 的行:

# 找到类似 ”/swapfile none swap sw 0 0” 的行并删除vim /etc/fstab

3. 删除 Swap 文件

rm -f /swapfile

4. 验证删除结果

free -hswapon --show

五、注意事项

1. Swap 大小建议

物理内存
Swap 建议
≤ 2GB
物理内存的 2 倍
2GB ~ 8GB
与物理内存相同
> 8GB
4GB ~ 8GB

2. 性能影响

  • 数据库、高并发服务应尽量避免使用 Swap
  • 如果频繁触发 Swap,建议增加物理内存

3. 云服务器说明

  • 部分云服务商限制 Swap 使用,先查看平台文档(博主用的某度可以创建)

4. 操作建议

  • 操作前备份重要数据
  • 避免在高负载时段操作,可能导致短暂服务中断


以上都是博主多年实操踩坑总结出来的经验,希望能够帮到遇到同类问题的朋友。

整理干货不易,如果对你有帮助,欢迎点赞 + 关注,后续持续分享更多实用技术内容。


最新文章

随机文章