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 " 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

原文地址:https://www.cnblogs.com/liuyanerfly/p/10672339.html