我在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'輸出。兩者不匹配。 –