簡體   English   中英

javaw.exe cpu占用率高

[英]javaw.exe high cpu usage

我創建了一個可運行的 jar,它在單個線程上運行。 該線程執行具有 100 次迭代的 for 循環。 然而,在 i3 處理器 win7 64 位機器上,cpu usgae 高達 60%。 我嘗試在 進程資源管理器中分析 cpu 使用情況

本機線程正在消耗 CPU。 本機線程都在 msvcr100.dll!endthreadex+0x60 消耗 cpu 我使用的是 jdl 1.7。 有人可以建議這里可能出了什么問題。

這是代碼:應用程序接受套接字連接並處理客戶端發送的日期。

while (true)
{
    try
    {
        Socket sock = ssock.accept();   
        // This is the function which has the for loop          
        obj.MyFunction();           
    }
    catch(Exception ex)
    {               
        ssock.close();
    }
    Thread.sleep(1000);
}                   

void MyFunction()
{
    for(int i=0; i < 1000;i++)
    {
         // Processing done here
    }
}

分析您的代碼,請參閱http://docs.oracle.com/javase/7/docs/technotes/tools/index.html#jconsole了解更多信息。

我懷疑如果你嘗試這個:

ex.printStackTrace();

你可能會得到更多的信息。 現在,當您遇到異常時,您不知道發生了什么或為什么。 您對此保持沉默,這很少是擊中異常的正確行為。

什么是處理? 如果您正在嘗試做很多工作,那么達到 60% cpu 可能並不意外。 你的算法的 Big O 運行時是什么? 數據集的大小是多少?

暫無
暫無

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

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