我在java中创建了一个简单的程序:
public static void main(String[] args) throws InterruptedException {
while (true)
;
}
如果我在Linux机器上运行它,它会显示100%的CPU使用率,但不会导致操作系统显得缓慢。但是,如果我在Windows上运行完全相同的代码,则只会显示大约20%的CPU使用率。
我在Windows上使用Oracle JRE,在Linux上使用OpenJDK 6。
是什么原因?
发布于 2017-12-28 19:06:01
默认情况下,top
Linux在所谓的IRIX模式下运行,而Windows任务管理器则不运行。假设你有4个核心:
这意味着,默认情况下,top
在Linux上将显示一个无限循环为〜100%,Windows将显示为〜25%,这意味着完全相同的事情。
top
在使用Shift+ 运行时,可以切换IRIX模式i。这将使数字相匹配。
https://stackoverflow.com/questions/-100005202
复制相似问题