我在java中测试我的服务器,并监视它的CPU使用情况。 首先,我使用top命令,它告诉我,如下所示:在linux中的java服务器CPU使用情况监视器
然后,我用命令
PS -C的Java -1-邻PCPU,CPU,美观大方,状态,cputime,pid,tid |排序 来显示所有的Java线程
第一列是每个线程的CPU使用情况。
我刚刚发现最高使用率仅为0.3,所有cpu使用量总和远低于31.6。
我希望有人能告诉我为什么,THKS
编辑:
要了解更多信息,我用顶部-Hp 1234(1234is我的Java PID) ,我突然发现了存在java线程(pidis 1238)和CPU使用率通常突然提升到10-20甚至更多,我认为这是应该受到指责的。
然后我用
jstack 1234 | grep的4D6 -A 30
看到线程的更多细节,而事实证明,我说:
“VM主题“prio = 10 tid = 0x00007ff6ec060000 nid = 0x4d6 runnable
”VM周期性任务线程“prio = 10 tid = 0x00007ff6ec091800 n ID = 0x4dd 等待条件
JNI全局引用:262
我希望你可以帮我分析一下。
尝试使用'htop'获取详细信息 –
THKS for answer,我已经安装并习惯了htop,但是它并没有解决我的问题,我想要的是看到每个java线程的CPU使用情况,因为在我的显示器显示得太高,但我得到每个java线程的java cpu使用率都低于0.3%。 –
因为线程列表在不同于总和值(31.6)的时刻由'ps'输出。两者不匹配。 –