1
我正在分析我的JAVA應用程序來查找誰在使用cpu。基於我的cpu快照視圖,我發現NetIO消耗了我大部分的cpu。Jprofiler9 NetIO狀態的真正含義是什麼?
- 但是,這種狀態真的意味着什麼?
- 這個狀態的線程是否真的消耗CPU?
- 該狀態是映射到JAVA VM線程狀態還是本地線程狀態?
編輯:基於Java線程轉儲的NetIO線程實際上是RUNNABLE
狀態。
我正在分析我的JAVA應用程序來查找誰在使用cpu。基於我的cpu快照視圖,我發現NetIO消耗了我大部分的cpu。Jprofiler9 NetIO狀態的真正含義是什麼?
編輯:基於Java線程轉儲的NetIO線程實際上是RUNNABLE
狀態。
但這種狀態真的意味着什麼?
它跟蹤網絡調用。它可能是等待狀態的一部分,但那不太有用。
此狀態下的線程是否真的消耗CPU?
在此線程狀態下,CPU負載通常較低。
此狀態映射到JAVA VM線程狀態還是本地線程狀態?
不,它完全基於在JRE的運行時庫中進行網絡調用的方法的檢測。
但是我確實面臨着一個很高的cpu負載問題,該應用使得很多blockingIO調用('socketRead0'),所以如果這個NetIO實際上是vm中等待io的線程,它就會解釋。 – hakunami