大多数情况下你可以从BIOS、产品目录或者干脆手动找出你的系统所持的最大内存。这里,我们介绍一种简单有用的技巧——使用dmidecode来找出系统支持的最大内存,这样你就无需打开机箱或者参照BIOS和产品目录了。
什么是 dmidecode?
就像你可能知道的一样, dmidecode是一个将计算机DMI(又名SMBIOS)表的内容转换为可读格式的工具。这个表包含了系统硬件组件的介绍以及其他一些如序列号和IOS版本等有用的信息。使用dmidecode你能够获取此项信息,而无需去探测真实的硬件。
找出你的系统所支持的最大内存
请确定你已经在系统中安装了dmidecode,我觉得你的操作系统应该已经自动安装过了,不过并不非常确定。
在基于Deb的系统中安装
?
1 |
sudo apt-get install dmidecode |
在基于RPM的系统中安装
?
1 |
sudo yum install dmidecode |
在SUSE/openSUSE中安装
?
1 |
sudo zypper in dmidecode |
好了,我们已经安装了dmidecode,接下来让我们找出支持的最大内存。输入以下命令:
?
1 |
sudo dmidecode -t 16 |
输出样本
?
1
2
3
4
5
6
7
8
9
10
11 |
# dmidecode 2.12
SMBIOS 2.6 present.
Handle 0x0014, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 16 GB
Error Information Handle: Not Provided
Number Of Devices: 2 |
就像你看到的,我的系统支持最大内存到16G,并且有两个内存插槽,简单吧?
接下来,让我们找出现在已经安装的内存的详细信息。
?
1 |
sudo dmidecode -t 17 |
输出样本
?
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 |
# dmidecode 2.12
SMBIOS 2.6 present.
Handle 0x0017, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x0014
Error Information Handle: 0x0000
Total Width: Unknown
Data Width: Unknown
Size: No Module Installed
Form Factor: DIMM
Set: None
Locator: DIMM_B
Bank Locator: BANK 2
Type: Unknown
Type Detail: None
Speed: Unknown
Manufacturer: Not Specified
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Rank: Unknown
Handle 0x0015, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x0014
Error Information Handle: 0x0000
Total Width: 64 bits
Data Width: 64 bits
Size: 4096 MB
Form Factor: SODIMM
Set: None
Locator: DIMM_A
Bank Locator: BANK 0
Type: DDR3
Type Detail: Synchronous
Speed: 1067 MHz
Manufacturer: 014F
Serial Number: 00092AF2
Asset Tag: 54114000
Part Number: JM1066KSN-4G
Rank: Unknown |
就像上边输出的一样,我在插槽1里边安装了一个内存条。内存大小为4G,类型为DDR3,速度为1067 MHz。
同样的,我们可以通过下边命令得到完整的内存信息。
?
1
2
3 |
sudo dmidecode -t memory
sudo dmidecode -t memory | less
sudo dmidecode -t memory | more |
输出样本
?
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
44
45
46
47
48
49
50
51 |
# dmidecode 2.12
SMBIOS 2.6 present.
Handle 0x0014, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 16 GB
Error Information Handle: Not Provided
Number Of Devices: 2
Handle 0x0017, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x0014
Error Information Handle: 0x0000
Total Width: Unknown
Data Width: Unknown
Size: No Module Installed
Form Factor: DIMM
Set: None
Locator: DIMM_B
Bank Locator: BANK 2
Type: Unknown
Type Detail: None
Speed: Unknown
Manufacturer: Not Specified
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Rank: Unknown
Handle 0x0015, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x0014
Error Information Handle: 0x0000
Total Width: 64 bits
Data Width: 64 bits
Size: 4096 MB
Form Factor: SODIMM
Set: None
Locator: DIMM_A
Bank Locator: BANK 0
Type: DDR3
Type Detail: Synchronous
Speed: 1067 MHz
Manufacturer: 014F
Serial Number: 00092AF2
Asset Tag: 54114000
Part Number: JM1066KSN-4G
Rank: Unknown |
如果你好奇想要知道整个系统的详细信息,例如主板、内存、BIOS等,那么可以输入以下命令来获取。
sudo dmidecode
输出样本
?
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
|