在查找有关笔记本电脑总内存的信息时,我发现了以下内容,但我对其含义有些怀疑。
从 dmidecode 命令我获得:
Handle 0x0010, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 8 GB
Error Information Handle: Not Provided
Number Of Devices: 2
Handle 0x0011, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x0010
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 4096 MB
Form Factor: SODIMM
Set: None
Locator: Bottom
Bank Locator: CHANNEL A
Type: DDR3
Type Detail: Synchronous Unbuffered (Unregistered)
Speed: 800 MHz
Manufacturer: Kingston
Serial Number: 5A396D76
Asset Tag: Asset Tag:
Part Number: KHX1600C9S3L/4G
Rank: 1
Configured Clock Speed: 800 MHz
Handle 0x0013, DMI type 20, 35 bytes
Memory Device Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x000FFFFFFFF
Range Size: 4 GB
Physical Device Handle: 0x0011
Memory Array Mapped Address Handle: 0x0016
Partition Row Position: 1
Handle 0x0014, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x0010
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: Unknown
Size: No Module Installed
Form Factor: SODIMM
Set: None
Locator: Top
Bank Locator: CHANNEL A
Type: Unknown
Type Detail: Unknown
Speed: Unknown
Manufacturer: Empty
Serial Number: Empty
Asset Tag: Asset Tag:
Part Number: Empty
Rank: Unknown
Configured Clock Speed: Unknown
Handle 0x0016, DMI type 19, 31 bytes
Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x000FFFFFFFF
Range Size: 4 GB
Physical Array Handle: 0x0010
Partition Width: 255
我以为我的 HP 15g-207nl 最多支持 4GB 内存,但我看到的最大容量是 8GB。哪个是真的?然后,文件 /proc/meminfo 告诉我:
MemTotal: 3467664 kB
MemFree: 493996 kB
MemAvailable: 1093044 kB
Buffers: 72928 kB
Cached: 754636 kB
SwapCached: 1460 kB
Active: 1726432 kB
Inactive: 871336 kB
Active(anon): 1346256 kB
Inactive(anon): 519488 kB
Active(file): 380176 kB
Inactive(file): 351848 kB
Unevictable: 32 kB
Mlocked: 32 kB
SwapTotal: 3613692 kB
SwapFree: 3588868 kB
Dirty: 456 kB
Writeback: 40 kB
AnonPages: 1769496 kB
Mapped: 404592 kB
Shmem: 95540 kB
Slab: 178208 kB
SReclaimable: 135680 kB
SUnreclaim: 42528 kB
KernelStack: 11408 kB
PageTables: 39620 kB
我认为电脑安装了 4GB 内存卡,但无论使用 Gibibyte 还是 Gigabyte 单位系统,我都无法在这里找到这 4GB。它们在哪里?MemTotal、MemFree 和 MemAvailable 究竟代表什么?
答案1
解码
此程序会尝试从 BIOS 收集有关硬件的信息。BIOS 应该能够正确报告计算机支持的最大 RAM。
在这种情况下,它报告的最大 RAM 为 8 GB。我猜这很可能是正确的。官方规格适用于您的笔记本电脑不列出最大 RAM 容量,只是它附带 4 GB RAM。很可能您的主板支持比最初安装的更多的 RAM。
从man dmidecode
:
解码 是一种以人性化格式转储计算机 DMI(有人称之为 SMBIOS)表内容的工具。该表包含系统硬件组件的描述,以及其他有用的信息,如序列号和 BIOS 修订版。借助此表,您可以检索这些信息,而无需探测实际硬件。
内存信息
/proc/meminfo
报告系统当前的内存使用情况,以及有关内存的一些其他信息。
MemTotal 是总计可用的系统中的内存。就您而言,它显示您的总 RAM 为 3467664 kB。这大约是 3.5 GB。数字存储的实际容量小于宣传容量并不罕见,因此这很可能与dmidecode
报告的容量相符——即宣传的 RAM 容量。
MemFree 是系统未使用的内存量根本。Linux 内核允许使用内存来缓存常用文件,这样除了当前正在运行的程序之外,您还可以更快地访问它们的数据。MemFree 是未用于任何这些操作的总内存。
MemAvailable 是可供程序使用的内存量。内核不会重新分配当前正在运行的程序所用的内存,但会将用于缓存的内存重新分配给需要的程序,因为如果再次需要,它可以直接从硬盘中读回这些数据。因此,MemAvailable 是总内存减去当前正在运行的程序所用的内存。
man proc
有关该文件的更多详细信息,请参阅meminfo
。