POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 6621|回复: 28
打印 上一主题 下一主题

自己寫了個 Stream Benchmark 5.8 的 Windows 控制臺界面

[复制链接]
跳转到指定楼层
1#
发表于 2011-9-5 18:18 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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或者以上):



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


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

下載:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
2#
 楼主| 发表于 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).....=_=
回复 支持 反对

使用道具 举报

3#
 楼主| 发表于 2011-9-6 12:30 | 显示全部楼层
搜索了一下關於 WMI 準確性,發現有時候内存數據讀取會不准...
這些數據是 WMI (其實就是Windows自己) 從 BIOS 直接讀取的,如果發現有很誇張的例如 數據位寬 > 64 的,就可以忽略那個有傚率的計算……{:5_213:}
等有時間我看看直接用 SMBus 讀 SPD,不過現在也只能將就著~

最高帶寬倒是正確的。
回复 支持 反对

使用道具 举报

4#
 楼主| 发表于 2011-9-6 16:45 | 显示全部楼层
本帖最后由 dracocephalum 于 2011-9-6 21:16 编辑

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

文件已更新。
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2011-9-6 17:33 | 显示全部楼层
luckissy 发表于 2011-9-6 21:19
貌似准确性比everest的差不少

呵呵,只是内存使用率那部分啦,最高内存帶寬應該是準確的。
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2011-9-6 17:57 | 显示全部楼层
兵假龙痕 发表于 2011-9-6 21:54
我的测试成绩很悲剧啊。

還好了,我無論怎麽測試都突破不了 60% 大関,繼續郁悶中
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2011-9-6 18:07 | 显示全部楼层
兵假龙痕 发表于 2011-9-6 22:04
看你的机子也是双路的,啥U?

兩個 W5580,開 turbo boost 后最高功率每個 144W,現在看著電費單都覺得無奈。
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 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.-
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2011-9-7 15:43 | 显示全部楼层
888888 发表于 2011-9-7 01:32
支持楼主原创,顺便问下lz 使用什么语言写的?

C# - 我這個人比較懶惰~
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 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,呵呵
回复 支持 反对

使用道具 举报

11#
 楼主| 发表于 2011-9-7 15:49 | 显示全部楼层
bigseacat 发表于 2011-9-7 03:52
今天更牛了。

讓我猜一下,實際上内存是 1333??
回复 支持 反对

使用道具 举报

12#
 楼主| 发表于 2011-9-7 15:50 | 显示全部楼层
mich 发表于 2011-9-6 23:36
内存带宽“未知”的掩面路过

那就是,Windows 沒有從你的 SMBIOS 數據讀到内存速度~~~請忽略有傚率吧,真的是未知~~~-_-
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2024-5-6 08:19

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表