阿里云系统磁盘总读BPS突然增长很高,导致网站502 Bad Gateway

问题再现

阿里云诊断提示IO延迟过长,导致读写受限

最近迁入阿里云主机(99计划2H+2G)后经常发现会出现死机的情况,呈现的状态就是网站无法访问,阿里云实例监控查看,是实例云盘读写 BPS 100M以上。

解决方向

1、调整交换分区减缓瞬时内存压力

既然发生了OOM,那必然是内存捉襟见肘了。这里先根据网友 @慧眼见真 增加 swap 试试看。

以下均为 root 权限执行

复制代码
# 查看系统内存情况
free -h

# 查看交换内容情况
swapon --show

# 指定 swap 文件并分配 3G 大小
fallocate -l 3G /swapfile

# 修改权限
chmod 600 /swapfile

# 格式化为 swap
mkswap /swapfile

# 启用 swap
swapon /swapfile

# 永久启用
echo '/swapfile swap swap defaults 0 0' >> /etc/fstab
重要!接下来需要调整内存交换性
复制代码
# 查看交换分区积极性,当为 0 表示不使用交换分区
cat /proc/sys/vm/swappiness

# 临时调整
# 可以简单理解为当内存占用 (100-10)% 时开始使用交换分区
sysctl vm.swappiness=10

# 永久调整
vim /etc/sysctl.conf
vm.swappiness=10

# 重新加载内核参数配置
sysctl -p

禁用dnf的自动更新

复制代码
# 确认相关任务存在
systemctl list-timers 'dnf-*'

# 禁用任务
systemctl stop dnf-makecache.timer
systemctl disable dnf-makecache.timer

# 之后我们可以手动更新
dnf check-update

参考文章阿里云 系统磁盘总读BPS 突然增长很高,导致网站502 Bad Gateway_问答-阿里云开发者社区 (aliyun.com)如何在 Linux 上创建和使用交换文件 (linux-console.net)

后话:

当然,如果你的程序确实有较大占用内存的如MySQL,可以适当配置参数降低占用。不同内存大小的MySQL配置方案 -- wking's blog (wkings.blog)

1核1G内存云服务器的mysql5.7内存占用过大参数优化

相关推荐
翼龙云_cloud2 小时前
亚马逊云渠道商:AWS Lightsail 极速部署演示环境搭建指南
运维·服务器·云计算·aws
汪碧康3 小时前
【k8s-1.34.2安装部署】十.gateway Api v1.4.0和istio安装
云原生·容器·kubernetes·gateway·istio·cilium·xkube
微爱帮监所写信寄信3 小时前
微爱帮技术实践:阿里云短信接口的高可用优化方案
开发语言·网络协议·阿里云·云计算·php
iconball16 小时前
个人用云计算学习笔记 --37 Zabbix
运维·笔记·学习·云计算·zabbix
通义灵码16 小时前
从 Vibe Coding 到云端部署:Qoder + 阿里云 ECS 实战
阿里云·云计算
咕噜企业分发小米19 小时前
阿里云函数计算如何与ECS共享MySQL数据库?
数据库·mysql·阿里云
zhongerzixunshi20 小时前
“首版次高端软件”:国产工业软件皇冠上的明珠
人工智能·云计算
金融Tech趋势派1 天前
2026企业微信私有化部署新选择:微盛·企微管家如何助力企业数据安全与运营效率提升?
大数据·人工智能·云计算·企业微信
PM老周1 天前
产品路线图怎么做:从愿景到里程碑的 6 步落地法
开发语言·安全·阿里云·团队开发·个人开发