繁体   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