竹笋

首页 » 问答 » 问答 » 01JVM调优的几种场景
TUhjnbcbe - 2023/6/30 20:27:00
北京哪家治疗白癜风医院好 https://baike.baidu.com/item/%E5%8C%97%E4%BA%AC%E4%B8%AD%E7%A7%91%E7%99%BD%E7%99%9C%E9%A3%8E%E5%8C%BB%E9%99%A2/9728824?fr=aladdin

cpu占用过高

cpu占用过高要分情况讨论,是不是业务上在搞活动,突然有大批的流量进来,而且活动结束后cpu占用率就下降了,如果是这种情况其实可以不用太关心,因为请求越多,需要处理的线程数越多,这是正常的现象。话说回来,如果你的服务器配置本身就差,cpu也只有一个核心,这种情况,稍微多一点流量就真的能够把你的cpu资源耗尽,这时应该考虑先把配置提升吧。

第二种情况,cpu占用率长期过高,这种情况下可能是你的程序有那种循环次数超级多的代码,甚至是出现死循环了。排查步骤如下:#JVM调优#

(1)用top命令查看cpu占用情况

这样就可以定位出cpu过高的进程。在linux下,top命令获得的进程号和jps工具获得的vmid是相同的:

(2)用top-Hp命令查看线程的情况

可以看到是线程id为这个线程一直在占用cpu

(3)把线程号转换为16进制

[root

localhost~]#printf"%x"1c77

记下这个16进制的数字,下面我们要用

(4)用jstack工具查看线程栈情况

[root

localhost~]#jstack

grep1c77-A10"

1
查看完整版本: 01JVM调优的几种场景