本帖最后由 hdmucity 于 2013-1-18 12:53 编辑
前段时间公司买了一台Dell R720服务器跑公司的CallCenter,基本配置是2 x E5-2620(6核12线程,2GHz,最大睿频2.5GHz,4通道内存),8 x 4GB(每个CPU管理4根,启用四通道,内存参数为DDR3-1333,9-9-9-24-1T)。
服务器刚买来,还没有上应用,我就正好安装了一个Win2008R2做一些有关于多线程的测试。也许能找到为什么E3之类的CPU在开启多线程后有时候游戏性能会下降。
测试方法如下:分别采用CINEBENCH R11.529和Fritz Chess Benchmark v4.3.2.0进行测试,分别测试系统自动分配线程到CPU的关联和手动分配线程和CPU的关联两种情况下的分数,进行对比。手动设置关联使用微软的工具Process Explorer,并在系统的Task Manager中进行确认。每张测试图都放上了测试工具的分数和每个核心CPU占用的情况方便对比。
测试章节:
一、基本CPU、MEM性能测试
二、CINEBENCH R11.5多线程性能测试
三、Fritz Chess Benchmark v4.3多线程性能测试
四、总结
一、首先放上CPU-Z和SuperPI、wPrime的测试结果,以及AIDA64的内存测试结果。
SuperPI 1M测试成绩:15.663s
wPrime 32M测试成绩:6.053s (24线程)
wPrime 1024M测试成绩:130.62s (24线程)
AIDA64 Memory测试成绩:Read:11008MB/s,Write:3108MB/s,Copy:7202MB/s,Latency:89.2ns (分数很低,也许是CPU主频低的原因)
CPU的物理核心和逻辑核心的映射情况,0、1是一个物理核心,2、3是一个物理核心,以此类推,最后一个物理核心是22、23
Logical to Physical Processor Map:
**---------------------- Physical Processor 0 (Hyperthreaded)
--**-------------------- Physical Processor 1 (Hyperthreaded)
----**------------------ Physical Processor 2 (Hyperthreaded)
------**---------------- Physical Processor 3 (Hyperthreaded)
--------**-------------- Physical Processor 4 (Hyperthreaded)
----------**------------ Physical Processor 5 (Hyperthreaded)
------------**---------- Physical Processor 6 (Hyperthreaded)
--------------**-------- Physical Processor 7 (Hyperthreaded)
----------------**------ Physical Processor 8 (Hyperthreaded)
------------------**---- Physical Processor 9 (Hyperthreaded)
--------------------**-- Physical Processor 10 (Hyperthreaded)
----------------------** Physical Processor 11 (Hyperthreaded)
也不知道是装好的Win2008R2系统有问题,还是CPU-Z不兼容,在启动CPU-Z的时候会报错,然后所有信息无法读取。最后将cpuz.ini文件中的SMBus设置为0才可以,但是内存的一些运行参数就无法读取了。不过AIDA64还是可以看到。
二、CINEBENCH R11.5多线程性能测试
1、12个核心,系统自动分配线程和CPU的关联
2、12个核心,手动设置线程和CPU的关联,确保每个每个线程都分配在一个物理CPU的一个逻辑核心上
3、18个核心,系统自动分配线程和CPU的关联
4、18个核心,手动设置线程和CPU的关联,其中有6个物理CPU只是用一个逻辑核心,有6个物理CPU使用上全部两个逻辑核心
5、24个核心满载测试
6、测试成绩总结
单核心测试成绩:0.96 pts
12个核心线程自动分配:9.54 pts(倍率:9.88x)
12个核心线程手动分配:10.78 pts(倍率:11.18x)
18个核心线程自动分配:10.99 pts(倍率:11.39x)
18个核心线程手动分配:11.75 pts(倍率:12.18x)
24个核心线程自动分配:12.80 pts(倍率:13.27x)
三、Fritz Chess Benchmark v4.3多线程性能测试(由于象棋测试最多支持16个核心,所以只测试12核心和16核心的测试情况)
1、12个核心,系统自动分配线程和CPU的关联
2、12个核心,手动设置线程和CPU的关联,确保每个每个线程都分配在一个物理CPU的一个逻辑核心上
3、16个核心,系统自动分配线程和CPU的关联。使用16个核心做测试,系统自动分配的很有意思,所有计算都分布在8个物理核心的16个逻辑核心上,不去调用其他的核心。测试多次都是这么一个情况,而使用15个核心和以下的做测试,则没有该情况。
4、16个核心,手动设置线程和CPU的关联,其中有8个物理CPU只是用一个逻辑核心,有4个物理CPU使用上全部两个逻辑核心
5、15个核心,系统自动分配线程和CPU的关联。
6、测试成绩总结:
12个核心线程自动分配:12968千步
12个核心线程手动分配:14727千步(比自动分配性能提高13%左右)
16个核心线程自动分配:13924千步
16个核心线程手动分配:15169千步(比自动分配性能提高9%左右)
15个核心线程自动分配:14231千步
四、总结
根据以上的测试可以看到,相同核心数测试的情况下,手动分配线程和和CPU逻辑核心的关联要比自动自动分配时的分数高一些。多次测试均是该结果,
甚至15个核心系统自动分配的象棋测试成绩都不如12个核心手动分配的成绩高。
Win2008R2和Win7是同一内核,线程的分配制度也应该是一样。就算是服务器的专用系统都无法正确的分配线程给CPU,造成处理性能下降。何况是家庭使用的Win7。由于现在的游戏大部分都最多只能使用到4个核心,根据以上的测试就知道E3类的CPU为什么在开启超线程后会造成游戏性能下降。
由于服务器继续上公司的应用,所以没有时间进一步测试Win8系统。如果有条件,希望其他的兄弟能测试一下Win8情况下有超线程技术的CPU的线程分配情况如何。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|