1、top 命令查看占用cpu高的进程,pid=15019

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

2、查看该进程下所有占用cppu高的线程

top -Hp pid   即:top -Hp 15019

得到pid 

tomcat进行压测时,cpu占用90% 随笔 第1张

 

3、获取15030的16进制

print "%x\n" 15030

3ab6

 

4、jstack -l 15019 > ~/jvm_stack_log.log

 

5、日志中查询

cat jvm_stack_log.log |grep 3ab6

------------

tomcat进行压测时,cpu占用90% 随笔 第2张

 

tomcat进行压测时,cpu占用90% 随笔 第3张

 

tomcat进行压测时,cpu占用90% 随笔 第4张

 

大部分线程都是在进行GC操作

 

解决办法:

tomcat 配置-XX:+UseConcMarkSweepGC,优化内存回收策略

 

可供参考:

https://blog.csdn.net/chushoutaizhong/article/details/81908316

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄