Как получить информацию об оперативной памяти в Linux






Продолжая линию предыдущей заметки, сегодня вашему вниманию предлагаю консольный способ получения информации об ОЗУ в Linux.



Получение информации об использовании памяти

Думаю, всем известна программа free, но на всякий случай, для тех, кто ещё не в курсе. При помощи команды free можно получить информацию об используемой/свободной памяти в вашей системе, в том числе и swap:

$ free
             total       used       free     shared    buffers     cached
Mem:       2062064    1493344     568720          0      82672     526624
-/+ buffers/cache:     884048    1178016
Swap:      1951740      59396    1892344

Или же более человечный вариант вывода:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          2013       1669        343          0         86        624
-/+ buffers/cache:        959       1053
Swap:         1905         58       1847

Ну и конечно же, стоит упомянуть традиционные top и htop:

Получение информации об аппаратной части

Если вам необходимо получить информацию об установленных платах, не открывая корпус компьютера, можно воспользоваться утилитой dmidecode, предназначенной для извлечения различного рода данных об установленном железе. Чтобы получить данные об установленной памяти, необходимо попросить dmidecode вывести информацию только 17 типа DMI:

# dmidecode --type 17
dmidecode 2.9
SMBIOS 2.5 present.

Handle 0x002D, DMI type 17, 27 bytes
Memory Device
    Array Handle: 0x002B
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 72 bits
    Size: 1024 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM0
    Bank Locator: BANK0
    Type: DDR2
    Type Detail: Synchronous
    Speed: Unknown
    Manufacturer: Manufacturer0
    Serial Number: SerNum0
    Asset Tag: AssetTagNum0
    Part Number: PartNum0
Handle 0x002F, DMI type 17, 27 bytes
Memory Device
    Array Handle: 0x002B
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 72 bits
    Size: 1024 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM1
    Bank Locator: BANK1
    Type: DDR2
    Type Detail: Synchronous
    Speed: Unknown
    Manufacturer: Manufacturer1
    Serial Number: SerNum1
    Asset Tag: AssetTagNum1
    Part Number: PartNum1
...

Информацию о контроллере памяти можно получить, указав типы DMI 5 и 6:

# dmidecode --type 5,6
dmidecode 2.9
SMBIOS 2.5 present.

Handle 0x0008, DMI type 5, 24 bytes
Memory Controller Information
    Error Detecting Method: 64-bit ECC
    Error Correcting Capabilities:
        None
    Supported Interleave: One-way Interleave
    Current Interleave: One-way Interleave
    Maximum Memory Module Size: 1024 MB
    Maximum Total Memory Size: 4096 MB
    Supported Speeds:
        70 ns
        60 ns
        50 ns
    Supported Memory Types:
        DIMM
        SDRAM
    Memory Module Voltage: 3.3 V
    Associated Memory Slots: 4
        0x0009
        0x000A
        0x000B
        0x000C
    Enabled Error Correcting Capabilities:
        None

Handle 0x0009, DMI type 6, 12 bytes
Memory Module Information
    Socket Designation: DIMM0
    Bank Connections: 0 5
    Current Speed: 160 ns
    Type: ECC DIMM
    Installed Size: 1024 MB (Single-bank Connection)
    Enabled Size: 1024 MB (Single-bank Connection)
    Error Status: OK
Handle 0x000A, DMI type 6, 12 bytes
Memory Module Information
    Socket Designation: DIMM1
    Bank Connections: 0 5
    Current Speed: 162 ns
    Type: ECC DIMM
    Installed Size: 1024 MB (Single-bank Connection)
    Enabled Size: 1024 MB (Single-bank Connection)
    Error Status: OK
...

А указав тип DMI 16, можно получить краткую информацию о пределах возможностей подсистемы управления памятью, установленной на материнской плате:

# dmidecode --type 16
dmidecode 2.9
SMBIOS 2.5 present.
Handle 0x002B, DMI type 16, 15 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: 4