工作中,如果机器cpu idle过低,会收到告警
P2
主机名: set-xr-xxxx监控项:
all(#5) cpu.idle < 30 当前值: 0
排查的步骤如下,
使用top + 大写P,查看cpu占用过高的进程
这里往往就是后台java服务,然后要通过进程来排查具体的线程,这时有两种方法
方法一:
top -H -p [pid] , 这时可以看到该进程下的所有线程,同样与大写P结合可以查看cpu占用过高的线程
方法二:
ps -mp [pid] -o THREAD,tid,time ,此时也可以看到该进程下的所有线程,其中m代表列出该进程下的所有线程,p代表列出线程占用cpu的时间,o代表格式化输出
通过以上两种方法可以获取到线程id,以下称为tid
将tid转为16进制,可以使用以下命令 printf "%xn" [tid],得到的16进制线程id,我们同样称为tid
jstack [pid] | grep tid(16进制) -A 60,从输出中排查公司相关的代码内容,找到问题代码的行数,进行排查
如果是fullgc导致的,可以进一步dump jvm内存信息进行排查
jmap -dump:format=b,file=dump-all.hprof [pid] #dump全量内存数据,[pid]替换为上一步查找的进程id
jmap -dump:live,format=b,file=dump.hprof [pid] #再次dump存活对象内存数据,注意live参数会触发fullgc,所以本次dump一定要在上一步全量dump之后执行。
使用eclipse的工具mat打开,进行排查
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/76025.html
摘要:周三晚加上了对阿波罗超时的监控,周四观察上线期间阿波罗超时指标的变化,时间也吻合。月日下午又报了一次警与此同时的阿波罗超时监控这里同时列出机器指标的目的是为了说明,尽管没有报警,但机器的指标变化和是统一的。 顺风车运营研发团队 熊浩含 问题现象 线上报警群里时而有php-fpm-idle的零星报警,持续时间很短(几秒甚至一秒),见下图 showImg(https://segmentf...
摘要:而今,我们就已经实现了这样的功能使用标签来实现数据的聚合和分组。数据聚合和分组在中,我们实现了数据的聚合和分组。指所需聚合的的查询条件。所以,与会聚合为一条曲线,而和的关系是分组的关系。 遥想 2015 年 8 月 17 日,Cloud Insight 还在梳理功能原型,畅想 Cloud Insight 存在的意义:为什么阿里云用户需要使用 Cloud Insight 来加强管理。 而...
摘要:它的英文全称是,意为系统活动情况报告。是目前上最为全面的系统性能分析工具之一,通过该命令可以全面地获取系统的运行队列磁盘读写分区交换区内存中断和网络等性能数据。因此可以用它来找出一些性能问题,帮助我们提升服务器的性能做出很好的决策指引。首先我自己都感到不好意思,这个命令几乎没有用过(尴尬)。最近在翻查Linux的一些命令,发现自己居然对它很陌生,所以赶紧恶补一下,扩充一下自己。sar它的英文...
摘要:大纲我们需要监控两台服务器来确保它们是正常的,运行期间没有内存和磁盘使用率问题。连接,在收到每个请求服务器的数据后,给每个对应的服务器响应格式化的数据。 注:原文地址 psutil and MongoDB for System Monitoring 这篇入门文章描述了怎样创建一系列的图表来监控一台或多台服务器的负载。使用 Python(psutil 和 bottle),Mon...
阅读 991·2021-11-25 09:43
阅读 1394·2021-11-18 10:02
阅读 1731·2021-11-02 14:41
阅读 2292·2019-08-30 15:55
阅读 1047·2019-08-29 16:18
阅读 2536·2019-08-29 14:15
阅读 1371·2019-08-26 18:13
阅读 702·2019-08-26 10:27