云主机间歇性 CPU 100%,怎么排查?

2022-12-01 16:51:28 +08:00
 corningsun
云主机偶尔会 CPU 100%,导致接口响应特别慢,一天大概两三次,持续时间几十秒

时间不固定,和请求量也没有关系

只部署了 Tomcat 跑 java8 服务,还有其他监控客户端之类的。

有什么方法能抓到是哪个进程导致的吗?

难点主要是偶发性强,持续时间短,不方便在线分析。
1329 次点击
所在节点    问与答
12 条回复
dogsHappyDay
2022-12-01 17:00:28 +08:00
找主机厂商提工单
youzi0516
2022-12-01 17:05:40 +08:00
top 命令输出到文件 然后 grep 简单粗暴
youzi0516
2022-12-01 17:06:21 +08:00
一般云监控上有进程级别的监控 找一下 当时 100%那个点的 进程 pid
corningsun
2022-12-01 17:43:12 +08:00
@youzi0516 谢谢。

问了,用的云主机的没有这种监控。有啥开源的监控工具能做这个吗,自己抓实在太麻烦了?
wu00
2022-12-01 18:10:03 +08:00
自己装个系统监控存起来第二天分析呗,比如 prometheus + grafana
如果不是机器中毒有可疑进程,那么大概率是这个 java 服务中的某些功能(线程)导致
lhx2008
2022-12-01 21:04:10 +08:00
atop 可以抓历史的所有进程,要配一下 systemd ,然后就可以看到是哪个进程有问题
pipapa
2022-12-01 21:08:53 +08:00
@corningsun netdata
zhengjianyang
2022-12-01 22:43:38 +08:00
同样的问题、同求排查方案
yanzhiling2001
2022-12-01 22:59:28 +08:00
排查不出来也没关系,毕竟母鸡 CPU 突然跑高也会在你的 VPS 上体现出现。

我的意思是,可能不是你的程序问题。是物理机 CPU 因为莫名原因突然跑高,连累了你的小鸡。
coolloves
2022-12-02 09:27:33 +08:00
跑一段时间,记录下
while true;do top -b -n 1 >> /tmp/top;sleep 1;done
yestodayHadRain
2022-12-02 10:24:02 +08:00
看下 crontab 吧
corningsun
2022-12-02 10:51:32 +08:00
@lhx2008 非常感谢,atop 很适合我,可以设置采集间隔,然后回溯到任意时间。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/899368

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX