POPPUR爱换

标题: 自己寫了個 Stream Benchmark 5.8 的 Windows 控制臺界面 [打印本页]

作者: dracocephalum    时间: 2011-9-5 18:18
标题: 自己寫了個 Stream Benchmark 5.8 的 Windows 控制臺界面
本帖最后由 dracocephalum 于 2011-9-6 21:13 编辑

最近在研究到底我的電腦内存性能如何。Nehalem 架構應該支持 Memory Channel Interleaving。由於每個 Xeon W5580 應該有三條内存通道,並且每通道支持最高 1333MHz 頻率的 DDR3 内存,雙 CPU 的理論帶寬應該超過 60GB/s。

當然,理論值基本上是別想達到了,所以就想找一個比較直觀準確的測試軟件來測試一下。
我嘗試了好幾個整機測試軟件,不過好像要不就是單綫程的測試,要不就是全部核同時使用的聚合測試。也不是說它們測不准,不過感覺好像不太直觀。

最後,看了一些在 Linux 上面的内存測試報告,發現有的用 Stream Benchmark 這個軟件,不過找完整個官方的網站,也只找到個 5.8 版本的 Windows 編譯。而且 UI 寫的不是太好,有 Bug。

因此還是決定自己寫一個 UI 包裝一下方便測試 (需要Microsoft .NET Framework 2.0或者以上):

[attach]1623046[/attach]

最終發現,Memory Channel Interleaving 開是開了,不過單綫程最高只有 12GB/s 的速度。而在最佳情況下,内存利用率最大也只有 60%.....-_- 郁悶中!


2011/9/6: 更新了,不會很容易報錯,然後假設所有内存都是 64 位帶寬...

下載:[attach]1623996[/attach]
作者: Edison    时间: 2011-9-5 19:11
这里的理论值判断在一些 CPU 上不是很妥当呀,不应该使用 DIMM 数来计算理论值,例如我的 APU,是双通道,但是就被判断成 4*1333*8B,正确的应该是 2*1333*8B。

最好还是想办法抓出 iMC,这个不难吧。

作者: dracocephalum    时间: 2011-9-5 20:34
Edison 发表于 2011-9-5 23:11
这里的理论值判断在一些 CPU 上不是很妥当呀,不应该使用 DIMM 数来计算理论值,例如我的 APU,是双通道,但 ...

嗯,暫時好像還沒辦法~~看了一下 WMI 的 API, 裏面的信息好像只限于 DIMM Slot 或者 Bank, Memory Channel 的分佈好像沒有相關信息......理論上應該是用 Memory Channel 的,不過暫時只能先用 DIMM 總數,然後雙槽一通道的自己除以2 (三槽一通道的就處以3).....=_=
作者: lucifersun    时间: 2011-9-5 21:56
[attach]1623212[/attach]

请问这个位宽是什么情况?Xeon E3-1230 GA-P67X-DS3R
作者: zxb8537    时间: 2011-9-5 23:49
lucifersun 发表于 2011-9-5 21:56
请问这个位宽是什么情况?Xeon E3-1230 GA-P67X-DS3R

这个什么水准?I7 920  X58-UD3R DDR3 1600 2G*3

[attach]1623412[/attach]
作者: bigseacat    时间: 2011-9-6 00:28
我自己都不知道该说什么了。。。。。:(
[attach]1623464[/attach]
作者: dracocephalum    时间: 2011-9-6 12:30
搜索了一下關於 WMI 準確性,發現有時候内存數據讀取會不准...
這些數據是 WMI (其實就是Windows自己) 從 BIOS 直接讀取的,如果發現有很誇張的例如 數據位寬 > 64 的,就可以忽略那個有傚率的計算……{:5_213:}
等有時間我看看直接用 SMBus 讀 SPD,不過現在也只能將就著~

最高帶寬倒是正確的。
作者: 萧翎翎    时间: 2011-9-6 12:54
[attach]1623756[/attach]
作者: dracocephalum    时间: 2011-9-6 16:45
本帖最后由 dracocephalum 于 2011-9-6 21:16 编辑

不管了,我把内存都固定成64位了,反正好像從SDRAM開始都是64位帶寬的說……

文件已更新。
作者: luckissy    时间: 2011-9-6 17:19
貌似准确性比everest的差不少
作者: dracocephalum    时间: 2011-9-6 17:33
luckissy 发表于 2011-9-6 21:19
貌似准确性比everest的差不少

呵呵,只是内存使用率那部分啦,最高内存帶寬應該是準確的。
作者: 兵假龙痕    时间: 2011-9-6 17:54
我的测试成绩很悲剧啊。
[attach]1624100[/attach]
作者: dracocephalum    时间: 2011-9-6 17:57
兵假龙痕 发表于 2011-9-6 21:54
我的测试成绩很悲剧啊。

還好了,我無論怎麽測試都突破不了 60% 大関,繼續郁悶中
作者: 兵假龙痕    时间: 2011-9-6 18:04
看你的机子也是双路的,啥U?
作者: dracocephalum    时间: 2011-9-6 18:07
兵假龙痕 发表于 2011-9-6 22:04
看你的机子也是双路的,啥U?

兩個 W5580,開 turbo boost 后最高功率每個 144W,現在看著電費單都覺得無奈。
作者: Edison    时间: 2011-9-6 18:45
http://www.cpuid-pro.com/

也许这个可以有助正确侦测通道数。
作者: dracocephalum    时间: 2011-9-6 18:58
本帖最后由 dracocephalum 于 2011-9-6 22:59 编辑
Edison 发表于 2011-9-6 22:45
http://www.cpuid-pro.com/

也许这个可以有助正确侦测通道数。


我現在終于知道 CPUID 是怎樣賺錢的了!!{:5_191:}

The price for the System Information Development Kit license starts at Euro 1099.-
作者: Edison    时间: 2011-9-6 19:06
dracocephalum 发表于 2011-9-6 18:58
我現在終于知道 CPUID 是怎樣賺錢的了!!

The price for the System Information Develop ...


其实就是抓 MSR 值吧,他们主要就是累积了一堆 CPU、南北桥 datasheet 中对判断系统信息有价值的资料。

intel、amd 都有很多这些 datasheet 免费下载,最少的是 nvidia 和 ati 之类的 gpu,不过偶尔也能从 linux 社区找到些。
作者: mich    时间: 2011-9-6 19:36
内存带宽“未知”的掩面路过{:5_194:}

作者: lucifersun    时间: 2011-9-6 21:27
似乎成绩不错

[attach]1624351[/attach]
作者: 888888    时间: 2011-9-6 21:32
支持楼主原创,顺便问下lz 使用什么语言写的?
作者: baboon    时间: 2011-9-6 22:18
明明1066外频,内存ddr3 1066为啥看到是800啊
[attach]1624420[/attach]


作者: bigseacat    时间: 2011-9-6 23:52
今天更牛了。[attach]1624615[/attach]
作者: dracocephalum    时间: 2011-9-7 15:43
888888 发表于 2011-9-7 01:32
支持楼主原创,顺便问下lz 使用什么语言写的?

C# - 我這個人比較懶惰~
作者: dracocephalum    时间: 2011-9-7 15:48
baboon 发表于 2011-9-7 02:18
明明1066外频,内存ddr3 1066为啥看到是800啊

這個……要問問你的主板廠商~~~這個值是根據主板提供的 SMBIOS 數據拿到的~~~~
直觀一點就是:
1、Windows 啓動的時候,問你的主板 BIOS 要 SMBIOS 數據,從中讀取内存速度
2、我的程序問 Windows 要它讀到的内存速度
所以,Windows 給我的是 800,那就顯示 800,呵呵
作者: dracocephalum    时间: 2011-9-7 15:49
bigseacat 发表于 2011-9-7 03:52
今天更牛了。

讓我猜一下,實際上内存是 1333??
作者: dracocephalum    时间: 2011-9-7 15:50
mich 发表于 2011-9-6 23:36
内存带宽“未知”的掩面路过

那就是,Windows 沒有從你的 SMBIOS 數據讀到内存速度~~~請忽略有傚率吧,真的是未知~~~-_-
作者: baboon    时间: 2011-9-7 19:57
dracocephalum 发表于 2011-9-7 15:48
這個……要問問你的主板廠商~~~這個值是根據主板提供的 SMBIOS 數據拿到的~~~~
直觀一點就是:
1、Wind ...

哦~~我这笔记本本来800的,我改了主板ic,超到1066的。。。。
作者: bigseacat    时间: 2011-9-12 02:20
dracocephalum 发表于 2011-9-7 15:49
讓我猜一下,實際上内存是 1333??

对,超到1466




欢迎光临 POPPUR爱换 (http://we.poppur.com/) Powered by Discuz! X3.4