Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1509803
  • 博文数量: 228
  • 博客积分: 1698
  • 博客等级: 上尉
  • 技术积分: 3241
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-24 21:49
个人简介

Linux

文章分类

全部博文(228)

文章存档

2017年(1)

2016年(43)

2015年(102)

2014年(44)

2013年(5)

2012年(30)

2011年(3)

分类: LINUX

2012-03-28 20:18:20

内存,作为影响现代计算机性能至关重要的部件,最重要的指标有两个,分别是容量和带宽,而容量一般都很好理解,比如1G、2G,这也是大多数人对内存的最直观认识。更多关于内存的相关知识介绍,网上有一篇很好的文章“”,所以这里也不打算多讲理论,还是来点更工程性的东西,或者说更实际点的。

以“KVR1333D3N9/2G”为例,这就包含有几个信息:产商为金士顿(KVR)、等效频率为1333MHz、传输类型为DDR3(D3)、容量2G。SDR内存和DDR内存的数据总线位宽都为64bit,所以等效频率为1333的为1333MHz*64bit/8=10.664GB/s(注意:这里的G等于1000*1000*1000,而非1024*1024*1024)。这个公式应该很好理解:也就是一次传输64bit,一秒传输1333M次,所以一秒的总传输量(也就是带宽)就等于1333M*64。

对于双通道或三通道,可以简单的类比理解为,以前单通道是一根管子(内存控制器)放水,而双通道或三通道是两根或三根管子放水,所以放水量(内存带宽)成倍增长,当然这需要机器(以前是需要主板支持,更具体点是北桥芯片,但在Nehalem架构集成内存控制器后,就需要CPU来支持)对双通道或三通道的支持(即主板或cpu有两个或三个内存控制器,并且各个内存控制器相互独立工作),那么相应的,系统总内存带宽就能达到10.664GB/s*2=21.328GB/s或10.664GB/s*3=31.992GB/s。

32GB/s是1333内存三通道情况下的理论带宽,而实际带宽还与其它东西相关联,比如 ,虽然支持三通道,但其支持的最高频内存只是DDR3 800,所以即便是在Xeon E5504的机器上安装DDR3 1333的内存也并没有什么益处,因为DDR3 1333会被自动来使用,所能达到的最大内存带宽也就只有19.2GB/s。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@localhost lenky]# cat /proc/cpuinfo | grep "model name" | uniq
model name  : Intel(R) Xeon(R) CPU           E5504  @ 2.00GHz
[root@localhost lenky]# dmidecode -t 16
# dmidecode 2.9
SMBIOS 2.6 present.
  
Handle 0x002B, DMI type 16, 15 bytes
Physical Memory Array
    Location: System Board Or Motherboard
    Use: System Memory
    Error Correction Type: Multi-bit ECC
    Maximum Capacity: 192 GB
    Error Information Handle: Not Provided
    Number Of Devices: 6
  
Handle 0x0039, DMI type 16, 15 bytes
Physical Memory Array
    Location: System Board Or Motherboard
    Use: System Memory
    Error Correction Type: Multi-bit ECC
    Maximum Capacity: 192 GB
    Error Information Handle: Not Provided
    Number Of Devices: 6

将上面信息对照链接中的表格:

Usage Workloads Memory Frequency Max B/W Recommended # of DIMMs per Channel Max DIMMs2 Max Capacity3
Maximum bandwidth HPC 1333 MHz 32 GB/s 1 6 48GB
General purpose Various apps 1066 MHz 25.5 GB/s 2 12 96GB
Maximum

capacity

Virtualized platforms 800 MHz 19.2 GB/s 2 QRO RDIMM

16GB

12 192GB
3 SR/DR RDIMM 8GB 18 144GB

可以看到匹配在800 MHz(Memory Frequency)/12(Max DIMMs)/192GB(Max Capacity)这一行,也即当前内存工作频率为800MHz。另外,对照说明:

Memory Specifications
Max Memory Size (dependent on memory type)
144 GB
Memory Types
DDR3 800
# of Memory Channels
3
Max Memory Bandwidth
19.2 GB/s
Physical Address Extensions
40-bit
ECC Memory Supported
Yes

虽然最大内存容量标注为144GB,但其括号内已注明这个依赖于内存类型,而且144GB也是800MHz所对应的内存最大容量,所以并没有问题;支持三通道;最大带宽为19.2 GB/s;支持ECC内存校验。

另外的,Linux下可利用如下命令查看内存安插的情况,几个重要字段分别为:Data Width: 64 bits(数据总线位宽)、Size: 1024 MB(插槽上的内存容量为1G)、Speed: 1333 MHz (0.8 ns)(等效频率为1333MHz):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
[root@localhost lenky]# dmidecode -t 17
# dmidecode 2.9
SMBIOS 2.6 present.
  
Handle 0x002D, DMI type 17, 28 bytes
Memory Device
    Array Handle: 0x002B
    Error Information Handle: Not Provided
    Total Width: 72 bits
    Data Width: 64 bits
    Size: No Module Installed
    Form Factor: DIMM
    Set: None
    Locator: DIMM0
    Bank Locator: BANK0
    Type: Other
    Type Detail: Other
    Speed: 1333 MHz (0.8 ns)
    Manufacturer: Manufacturer00
    Serial Number: SerNum00
    Asset Tag: AssetTagNum0
    Part Number: ModulePartNumber00
  
Handle 0x0031, DMI type 17, 28 bytes
Memory Device
    Array Handle: 0x002B
    Error Information Handle: Not Provided
    Total Width: 72 bits
    Data Width: 64 bits
    Size: 1024 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM2
    Bank Locator: BANK2
    Type: Other
    Type Detail: Other
    Speed: 1333 MHz (0.8 ns)
    Manufacturer: Manufacturer02
    Serial Number: 00000000
    Asset Tag: AssetTagNum2
    Part Number:                   
  
...

转载请保留地址:

阅读(6224) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~