java消耗cpu代码 java耗cpu的代码

JVM调优jstack怎么找出最耗cpu的线程并定位代码

第一步:先找出java的进程Id(PID) 假设java应用名称是zcg_commodity

成都一家集口碑和实力的网站建设服务商,拥有专业的企业建站团队和靠谱的建站技术,10多年企业及个人网站建设经验 ,为成都成百上千家客户提供网页设计制作,网站开发,企业网站制作建设等服务,包括成都营销型网站建设,成都品牌网站建设,同时也为不同行业的客户提供成都网站建设、网站建设的服务,包括成都电商型网站制作建设,装修行业网站制作建设,传统机械行业网站建设,传统农业行业网站制作建设。在成都做网站,选网站制作建设服务商就选创新互联。

ps -ef|grep zcg_commodity

得到进程Id为32464

第二步:找出该进程内最消耗CPU的线程

top -Hp pid

输入top -Hp 32464

TIME列就是各个java线程耗费的CPU的时间,比如图中是线程ID的为2012的线程,

通过 printf “%x\n” 2012

得到2012的十六进制为 7dc

第三步:

一般会进到jdk的bin目录下,root权限执行

jstack 32464|grep 7dc

Java开发如何准确的定位到占用内存或CPU最高的一行代码

要定位到行,代码要debug编译,至少要带上行信息。

线程占用内存高低,可以用jmap做heap dump出来给MomoryAnalysis分析他可以按线程统计,一般也可以用它来找出造成OOM的原因。

线程占用CPU,上述内存的问题是一个方面,另外也可以jstack打线程栈来分析。Linux上ps -T -p可以看底层线程的CPU占用(Windows上需要额外按工具),记得线程编号可以在jstack打出来的线程栈中检查。

java占用cpu高?

java进程占用CPU过高常见的两种情况:

1,代码中有死循环或者接近死循环的操作

2,快速创建大量临时变量,导致频繁触发gc回收


新闻名称:java消耗cpu代码 java耗cpu的代码
本文来源:http://azwzsj.com/article/ddsiedd.html