簡體   English   中英

Java應用程序的CPU使用率很高

[英]High cpu usage for javaapplication

我的Java應用程序的CPU使用率更高(有時80-100%)。 我的應用程序使用http數據傳輸。我使用jConsole檢查了cpu的使用情況。 從中我意識到一些線程池使用了更多的CPU時間。 我不知道如何在該池中找到線程。 有人請幫助我找到導致更多cpu使用的線程。

嘗試使用VisualVM而不是JConsole來監視您的應用程序。 我不確定,但是VisualVM的線程分析器是否應該具有更多功能。

一種方法是使用功能強大的探查器,例如YourKit (可以從其網站下載免費的評估版)。 它會准確告訴您哪些線程占用了CPU,以及它們到底在做什么。

一個分析工具,如應該可以幫助您找到您的應用熱點。

但是,為什么您認為使用大量CPU是一件壞事? 如果有工作要做,那么您要完成它,因此您將使用CPU。 如果您有一個多線程應用程序,則某些線程正在處理其他線程,而其他線程正在從網絡中讀取內容,那么CPU占用率可能就很高-例如,如果對檢索到的數據進行了大量分析。

使用JConsole中的topthreads插件將快速顯示繁忙的線程正在忙於什么...

jconsole -pluginpath topthreads.jar

您可以在此處下載topthreads jar文件: http ://lsd.luminis.eu/new_version_topthreads_jconsole_plugin/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM