解决阿里云ubuntu内存溢出导致vps死机无法访问 - 永久性增加ubuntu的swap空间 - 阿里云Linux实例内存溢出(OOM)问题修复方案

效果图

报错

通过对实例当前截屏的分析发现,实例因 Linux实例内存空间不足,导致操作系统出现内存溢出(OOM) 无法正常启动。请您根据 Code:1684829582,在文档中查询该问题对应的修复方案,并通过VNC方式访问实例进行修复。

解决办法

在阿里云Ubuntu实例上永久增加Swap空间的完整步骤

在Ubuntu系统上永久增加Swap空间可以有效缓解内存不足问题,特别是对于内存较小的云服务器。以下是详细的操作方法:

1. 检查当前Swap状态

首先查看系统现有的Swap配置:

复制代码
sudo swapon --show
free -h

2. 创建Swap文件

2.1 创建Swap文件(推荐4GB大小)

复制代码
# 创建Swap文件(这里以4G为例,可根据需要调整大小)
sudo fallocate -l 4G /swapfile

# 如果fallocate不可用,可以使用dd命令
# sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

2.2 设置正确的权限

复制代码
sudo chmod 600 /swapfile

2.3 格式化文件为Swap

复制代码
sudo mkswap /swapfile

3. 启用Swap文件

复制代码
sudo swapon /swapfile

4. 永久生效设置

4.1 编辑fstab文件

复制代码
sudo nano /etc/fstab

4.2 在文件末尾添加以下行

复制代码
/swapfile none swap sw 0 0

按Ctrl+X,然后按Y保存并退出。

5. 优化Swap配置(可选但推荐)

5.1 调整swappiness值(控制内存使用到Swap的倾向)

复制代码
# 查看当前值(默认通常是60)
cat /proc/sys/vm/swappiness

# 设置为更合理的值(10-30之间)
sudo sysctl vm.swappiness=20

# 永久生效
echo "vm.swappiness=20" | sudo tee -a /etc/sysctl.conf

5.2 调整缓存压力设置

复制代码
echo "vm.vfs_cache_pressure=50" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

6. 验证Swap配置

复制代码
sudo swapon --show
free -h

输出应显示新添加的Swap空间。

注意事项

  1. Swap大小建议:

    • 内存 < 2GB:Swap设为内存的2倍
    • 内存 2-8GB:Swap等于内存大小
    • 内存 > 8GB:Swap为4-8GB即可
  2. 性能考虑:

    • Swap使用磁盘空间,速度比物理内存慢
    • 过度依赖Swap会导致性能下降
    • 长期解决方案应考虑升级实例内存
  3. 阿里云特定建议:

    • 如果使用高效云盘或SSD云盘,Swap性能会更好
    • 对于频繁使用Swap的情况,建议升级实例规格
  4. 删除旧Swap(如有需要):

    复制代码
    sudo swapoff /old_swapfile
    sudo rm /old_swapfile
    # 记得从/etc/fstab中删除相应行

通过以上步骤,您的阿里云Ubuntu实例将拥有永久有效的Swap空间,帮助缓解内存不足的情况。

ending...

相关推荐
xiaoqiMikko5 分钟前
Linux 实战(五):DNS、hosts、CLOSE-WAIT、SSH 权限与改端口 —— 三台真机实测
linux·centos
Linux-lucky10 分钟前
43-Linux学习之旅之Shell 脚本(二)
linux·运维·学习·ubuntu·dash
yv798an21 分钟前
从 OpenSBI 引导到 C++17 异步运行时:自制 RISC-V 嵌入式专有 NAS 踩坑全记录
linux
不悔哥1 小时前
Linux系统编程多线程程序如何安全退出
linux
Fcy6481 小时前
Linux下 数据链路层详解(从以太网到ARP协议)
linux·mac·以太网·数据链路层·arp
YH行业报告分析2 小时前
2026电缆铺设设备市场:自动化敷设与电网升级驱动增长
运维·自动化
ajassi20003 小时前
AI语音智能体开发日记(十八)智能体服务器xiaozhi-esp32-server源码部署指南
运维·服务器·人工智能·ai·ai编程
‎ദ്ദിᵔ.˛.ᵔ₎3 小时前
linux 进程信号(下)
linux·运维·服务器
skywalk81633 小时前
在FreeBSD系统的linux仿真环境下安装和使用kiro 这个亚马逊的AI agent
linux·人工智能·freebsd·kiro
Mikko73 小时前
Linux 磁盘满了但 du 找不到?LVM 扩容 df 不变?fstab 写错开不了机?三台真机实测磁盘排查
linux·运维·centos