tomcat进行压测时,cpu占用90%

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

 

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

top -Hp pid   即:top -Hp 15019

得到pid 

屏幕快照 2019-04-08 下午5.44.32.png

 

3、获取15030的16进制

print "%x\n" 15030

3ab6

 

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

 

5、日志中查询

cat jvm_stack_log.log |grep 3ab6

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

屏幕快照 2019-04-08 下午5.48.14.png

 

屏幕快照 2019-04-08 下午5.48.34.png

 

屏幕快照 2019-04-08 下午5.50.15.png

 

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

 

解决办法:

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

 

可供参考:

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

posted @ 2019-04-08 18:20  liuyanerfly  阅读(688)  评论(0编辑  收藏  举报