我的程序运行一段时间后,我发现一个奇怪的现象:我的一个CPU运行在很高的位置:95%~100%,而另外一个在10%一下,哪位高人能给我解释一下原因吗?非常感谢!

解决方案 »

  1.   

    应该是只有一个任务很重,另一个CPU用不上。
    另外,不知你的操作系统是什么,如果你用的是winnt,
    winnt对多CPU支持的不好,在winnt上跑两个CPU和跑一个CPU没多大区别。
      

  2.   

    估计你的程序是单线程的,操作系统根据线程的亲缘性和局部性通常会选择在一个CPU上运行而不是在2个CPU之间切来切去,因为这样切换的话会损失Cache命中和指令预取。