阿里云系统磁盘总读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内存占用过大参数优化

相关推荐
昱景2 小时前
亲测有效:锡膏选择实践经验分享
阿里云
Serverless社区4 小时前
进阶指南:BrowserUse + Agentrun Sandbox 最佳实践指南
运维·阿里云·云原生·serverless·函数计算
安当加密4 小时前
电力系统如何防“明文传输”?某电网公司用SM2+UKey构建“端到端加密”实战
服务器·数据库·安全·阿里云
进击切图仔9 小时前
基于腾讯云服务构建 ros1 noetic 开发环境
云计算·腾讯云
翼龙云_cloud9 小时前
阿里云渠道商:云服务计费 按量 包年 预留实例怎么选?
服务器·阿里云·云计算
gaize121310 小时前
阿里云ECS云服务器怎么样?值得入手吗?最新测评
服务器·阿里云·云计算
咕噜企业分发小米11 小时前
阿里云与华为云基因测序数据同步的日志内容中,哪些字段对于故障排查最为关键?
数据库·阿里云·华为云
博思云为11 小时前
企业级智能PPT生成:Amazon云+AI驱动,全流程自动化提效
人工智能·语言模型·云原生·数据挖掘·云计算·语音识别·aws
2401_8658548811 小时前
腾讯云的IP是原生IP吗?
tcp/ip·云计算·腾讯云
翼龙云_cloud12 小时前
腾讯云渠道商:新手怎么在腾讯云 CVM 搭建 Ghost 博客?
运维·云计算·腾讯云