java占cpu 325.2%,TOP一下1.6%us,13.8%sy,到底看哪个值

星星仔 发布于 2013/06/07 14:47
阅读 1K+
收藏 0

PS:虚拟机,8核,做java死循环测试。(这个是运行了80多分钟一直都是这样的现象!)

java进程的cpu高达 325.2%,为什么上面那个cpu的值才这么点?

怎么解释这样的现象?


下图是运行了121分钟的情况:

加载中
0
红薯
红薯
多看一会
红薯
红薯
回复 @xyxy : 哦。。。
星星仔
星星仔
java进程已经测试运行了80多分钟了
0
滔哥
滔哥
信TOP吧
0
浏览者
浏览者

用jstack把进程的日志信息导出来

用top -p 5909 -H找出该进程里面占用CPU最高的几个线程是谁

然后基于找出来的进程模拟线程PID从导出的日志信息里分析一下原因

模拟的PID需要做16进制转换,导出的日志里是16进制存在的

0
panzhc
panzhc

top界面下按一下数字1

上面的Cpus是所有核心的总和

下面的cpu是按核算的 

0
星星仔
星星仔

引用来自“panzhc”的答案

top界面下按一下数字1

上面的Cpus是所有核心的总和

下面的cpu是按核算的 

嗯嗯,谢谢@panzhc 的回答,按你这个方法后发现top的加起来也比java的那个少,好奇怪啊

0
星星仔
星星仔

引用来自“浏览者”的答案

用jstack把进程的日志信息导出来

用top -p 5909 -H找出该进程里面占用CPU最高的几个线程是谁

然后基于找出来的进程模拟线程PID从导出的日志信息里分析一下原因

模拟的PID需要做16进制转换,导出的日志里是16进制存在的

谢谢@ 浏览者的回答,我是知道哪个方法占cpu高的,就是不知道为什么java的占百分比以上,而top那个还不到30%,很奇怪,是不是应该top那个比java那个高?!
0
核桃博客
核桃博客
你多核的啊
0
星星仔
星星仔

引用来自“核桃博客”的答案

你多核的啊
嗯嗯,8核,虚拟机
返回顶部
顶部