编辑:不管你信不信,但是在没有改变任何代码之后,重建项目并重新运行,它现在使用了高达~80%的CPU,所以我假设问题解决了。
如果遇到同样问题的人到达这里,我很抱歉无法提供更多信息。我假设有一个进程占用了两个核心。
感谢您的所有答案!
我目前正在尝试使用我所有的CPU内核来增强Java中的神经网络计算。所以我使用多个线程(根据Runtime.getRuntime()。availableProcessors()返回的值与计算机一起使用)。如果我只使用一个线程,则最大CPU使用率约为25%,这与预期一致。有2个线程,大约50%。但是当我创建超过2个线程时,CPU的使用在程序中的任何一点似乎都没有超过50%,好像只使用了两个核心(我怀疑它是这种情况)。 这里的问题是我的CPU中有4个内核,而java是真正使用CPU的唯一进程,所以我想应该可以使用更多。
这里有什么我想念的吗?由于操作系统是唯一一个真正做到它想要的人,我无法理解为什么它不会让这个过程使用超过2个核心。而且我没有找到任何类似Java标志的东西来开启使用更多。困扰我的是,我没有在网上找到任何帖子或相关问题,只关于如何使用超过1个核心。
感谢阅读,如果有人知道问题是什么,那就太好了。
详情:
我的CPU是:Intel(R)Core(TM)i5-2320 CPU @ 3.00GHz,3001 Mhz,4 Core(s),4个逻辑处理器
我的程序不读取或写入任何文件。