双路xeon cpu运行程序cpu 利用率只有50%,为什么?

公司买了一台HP G9服务器,配置是双路xeon E5-2640 v3 @2.6GHz ,在任务管理器中显示出32个核心;64g内存;系统是win2008 r2 企业版。程序是公司自己研发的c#计算程序, ​数据全部加载到内存,然后做计算。我开一个程序,但是无论我发起8个线程,16个线程,32个线乘,64个线乘做运算,cpu的使用率都无法超过50%,一分钟内偶然间有一次机会突破到55%,然后立刻又下降下来,一般都是在48%-50%之间。我开两个程序运行,每个程序发起16个线乘,cpu使用率依然是在50%。但是在我的 i5 i7 cpu上运行,正常都维持在80%-90%上下的cpu使用率。我想请教一下各位大虾,为什么双路xeon cpu cpu利用率上不了90%?
非常感谢“千里追P ”。我程序有10万套方案,单一方案计算需要耗费2秒左右,全部运算完需耗费数小时,无IO操作,所以方案间的互不影响。每个计算方案的方法都丢到线程池去,由系统的线程池统一管理,换句话说,32条线程一定会有共同存在的时间片,那32个cpu核心就需要一起工作。
从系统的运行角度来说,有的线程已经停止工作,有的线程还没进入工作状态,所以总体cpu无法使用到100%,但是使用到80%是正常的,而且我还发现一个问题:任务管理器中,有固定16个cpu运行在95%以上,另外固定16个cpu运行始终在0%,也就是说系统从来都未给那16个cpu分配计算力。另外固定16个cpu运行始终在0%,也就是说系统从来都未给那16个cpu分配计算力。

我发现问题了,是操作系统识别不了32个cpu,在系统的“引导高级选项”里只能看到16个处理器。有没有朋友有发现同样的问题?如何解决,而且win2008r2企业版官方说明是可以支持超过32颗cpu的。若换win2012 太麻烦了。

双路16核32线程,要达到百分之90不是一般程序能达到的,更何况E5的运算能力非常的强,如果随随便便就达到百分之90以上除非就是桌面级CPU,也就是你说的i5 i7。如果服务器运算速度正常,只能说明你运行的程序占用不了那么多的资源。另外你可以打开系统配置-引导-高级配置-勾选CPU,下拉菜单选择CPU个数为32试试。追问

非常感谢。我程序有10万套方案,单一方案计算需要耗费2秒左右,全部运算完需耗费数小时,无IO操作,所以方案间的互不影响。每个计算方案的方法都丢到线程池去,由系统的线程池统一管理,换句话说,32条线程一定会有共同存在的时间片,那32个cpu核心就需要一起工作。
从系统的运行角度来说,有的线程已经停止工作,有的线程还没进入工作状态,所以总体cpu无法使用到100%,但是使用到80%是正常的,

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-11
win server 2012r2也遇到同样的问题,系统配置-引导-高级选项 也只能看到一半数量的处理器,求解决办法
第2个回答  2018-09-20
怎么解决的?我也遇到了同样的问题。
相似回答