惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
Vercel News
Vercel News
C
Check Point Blog
G
Google Developers Blog
博客园 - 司徒正美
量子位
Engineering at Meta
Engineering at Meta
S
SegmentFault 最新的问题
Google DeepMind News
Google DeepMind News
F
Fortinet All Blogs
A
About on SuperTechFans
美团技术团队
D
DataBreaches.Net
Stack Overflow Blog
Stack Overflow Blog
Jina AI
Jina AI
Y
Y Combinator Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks
MongoDB | Blog
MongoDB | Blog
人人都是产品经理
人人都是产品经理
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The Cloudflare Blog
U
Unit 42

kissthisrain

悲,OpenCodeGo套餐大砍 Token 用量小组件:适配 DeepSeek Harness 七月杂记 我是如何入住 InStreet 的:一个 AI Agent 的社交初体验 和OpenClaw聊着天,文章就发出去了 OpenClaw使用感受 Google Gemini体验 记笔记本开机不能自动联网的问题 关于我换掉2060S这件事:一些不成熟的显卡选购碎碎念 国庆后的第一个周末 职场搬迁新办公地 我的小狗 解决使用OpenVPN导致网络卡顿的问题 DICOM医学影像匿名化导致服务重启的问题 本地运行halo碰到的问题 Mybatis-Plus使用saveBatch方法不回显ID的问题 MongoDB语句(待补充) Java项目启动时间过长的问题 MySQL常用语句记录 windows常用命令记录 私有CI/CD平台搭建(一)Drone安装及部署 Alibaba Cloud Linux release 3安装Docker
记一次服务器负载过高的问题
kissthisrain · 2025-10-11 · via kissthisrain

前一段时间开始,经常收到服务器的告警通知短信,提示CPU负荷过高。由于大部分情况,服务器会自动恢复,所以也就没有过多关注。

3ecb53d8dd9892ead38f72f7b99752f0-1bod.jpg

最近则存在服务器卡死的情况,只能进入后台手动重启,虽然每次重启之后问题都能解决,但是一直手动重启也不是长久之计,因此,我尝试排查下原因。由于服务器卡死,无法远程连接,没法查询到进程情况,而且服务器已经把高负载的进程强制kill掉,无法在第一时间回溯案发时的情况。所以,没办法,只能先尝试联系云服务商,那边给出的答复是确实存在高负载导致服务器夯住的情况,建议安装监控工具,等待后续再次出现问题时再做分析。ps.在此之前我从来没想过会出现性能问题,虽然这个博客系统所在的服务器配置比较基础,只有2c2g,不过跑这个博客服务应该是绰绰有余了。按照答复,我先安装了atop工具,等待下一次问题出现。

atop是一款Linux系统中的高级性能监控工具,能够实时跟踪CPU、内存、磁盘I/O和网络负载等关键资源的使用情况,并记录历史数据以便后续分析),并设置好指标数据的持久化频次,具体使用方式可以参考这篇文章:安装、配置并使用atop监控工具

前几天接收到告警信息后,立马打开服务器后台,此时服务器已经卡死,于是手动重启服务器后,使用atop -r -b 15:00命令,查询15点之后的服务器指标数据,发现只有服务器重启之后和15点之前的指标数据,也就是说服务卡死前数据没有记录下来,猜想原因估计是因为记录的频次是60s,在这个区间内直接卡死导致没及时记录下来,那就调整下频次间隔等待下次出现问题再排查吧。

正巧今天下午正在激情工(mo)作(yu)的时候,又收到了短信告警,赶紧开始排查。和之前不一样的是,这次服务器没有卡死,后台显示高负载是从14点左右开始的,于是远程连接到服务器,输入atop -r -b 14:00命令,然后按下“m”按照内存指标倒序排列,此时指标一切正常,内存占用最大的为博客主服务

atop1.png

然后按下“t”前进30s开始逐个查询,跳转到14:05时,出现了一个dnf进程。

企业微信截图_17600829121758.png

企业微信截图_17600829438588.png

再往后翻,时间来到15:00时,dnf进程消失了,原因是这个进程被系统kill掉了。这个时间范围和后台监控指标的时间范围是保持一致的

atop4.png

企业微信截图_17600874708108.png

其实分析到现在并不能确定这个dnf进程就是之前导致服务器卡死的原因,但是至少可以确定它是服务器负载变高的原因。查了下dnf的作用:

全称Dandified Yum,是Linux系统中一款基于RPM的软件包管理工具(https://baike.baidu.com/item/DNF/19320742)。

然后又检索了下关键词:dnf、linux、高负载、OOM,由此关联出来的资料,有用的不多,但是有提到这个dnf是可以禁用掉的,索性就先把这个玩意禁掉吧。于是在服务器输入以下命令,先把dnf定时器禁用掉,等后续再观察下告警情况。

企业微信截图_17600831024976.png

# 查看系统定时任务
systemctl list-timers | grep dnf
# 停止并禁用dnf定时器
sudo systemctl stop dnf-makecache.timer
sudo systemctl disable dnf-makecache.timer
2025.10.17更新

距离问题修改已经过去6天,在此期间没有收到高负载的告警,基本可以说明问题已经解决了。