Windows下java项目CPU占用过高排查——线程越多越高效吗?

时间起因:在个人电脑上启用多个服务调试问题,突然发现项目启动卡死。查看cup使用,居然达到了惊人的90%。

问题排查过程:

  1. 通过资源管理器找到问题进程PID(占用CPU最大的那个)
  2. 使用微软提供的Process Explorer工具查看,下载地址:http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx。这里建议使用迅雷下载(右键复制链接地址,迅雷新建任务下载)
  3. 看看都有什么:Windows下java项目CPU占用过高排查——线程越多越高效吗?
  4. 右键点击Properties…选项:Windows下java项目CPU占用过高排查——线程越多越高效吗?
  5. 问题找到了,这么多线程的运行,光是cup的上线文切换都要浪费不少资源,现在小伙伴们知道为什么线程并不是越多,系统的效率就越高了吧。

最后 关于cup的时间分片,线程上下文切换就不在此做过多讨论。