Sprawdzanie pod Linux rodzaju pamięci RAM.
[ Aktualizacja: 2019.02.15 ]
Oto kilka programów pozwalajacych sprawdzić pod Linux jakiego rodzaju kości pamięci RAM są zamontowane w komputerze.
Informacje te wymagają uprawnień administratora więc wszystkie przykłady wymagają sudo
.
Programy te potrafią też podać informacje o innych podzespołach komputera ale to pomijam.
dmidecode
$ sudo dmidecode -t memory
$ sudo dmidecode --type memory
$ sudo dmidecode --type 17
Dla każdej kości pamięci jest wyświetlana osobna informacja w poniższej postaci.
Handle 0x000E, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x000D
Error Information Handle: No Error
Total Width: 64 bits
Data Width: 64 bits
Size: 4096 MB
Form Factor: SODIMM
Set: 1
Locator: M1
Bank Locator: Bank 0
Type: DDR3
Type Detail: Synchronous
Speed: 1334 MT/s
Manufacturer: 075D
Serial Number: 00000000
Asset Tag: 1628
Part Number: GR1333S364L9/4G
Rank: Unknown
Właściwie to podaje informacje dla wszystkich dostępnych banków/gniazd, do których można wstawić kości pamięci, więc jeśli jakiś bank nie jest obsadzony kościa to poda puste dane.
Z tego można dowiedzieć się między innymi
- pojemność (4096 MB),
- rodzaj (SODIMM),
- typ (DDR3),
- prędkośc (1334 MT/s),
- numer partii (GR1333S364L9/4G) - pozwala to odszukać więcej informacji w internecie.
Używając innych wartości liczbowy dla --type
można poznać informacje o innych elementach komputera.
Dla części z nich można używać nazw zamiast liczb: bios
, system
, baseboard
, chassis
, processor
, memory
, cache
, connector
, slot
.
Instalacja: apt install dmidecode
lshw
$ sudo lshw -c memory
Część wyniku
*-memory
description: System Memory
physical id: d
slot: System board or motherboard
size: 8GiB
*-bank:0
description: SODIMM DDR3 Synchronous 1334 MHz (0,7 ns)
product: GR1333S364L9/4G
vendor: Hitachi
physical id: 0
serial: 00000000
slot: M1
size: 4GiB
width: 64 bits
clock: 1334MHz (0.7ns)
*-bank:1
description: SODIMM DDR3 Synchronous 1334 MHz (0,7 ns)
product: GR1333S364L9/4G
vendor: Hitachi
physical id: 1
serial: 00000000
slot: M2
size: 4GiB
width: 64 bits
clock: 1334MHz (0.7ns)
*-bank:2
description: SODIMM DDR3 Synchronous [empty]
physical id: 2
slot: M3
*-bank:3
description: SODIMM DDR3 Synchronous [empty]
physical id: 3
slot: M4
Po doinstalowaniu lshw-gtk
można wszystkie informacje przeglądać w okienku.
$ sudo lshw -X
Instalacja: apt install lshw
Instalacja: apt install lshw-gtk
inxi
$ sudo inxi -m
Memory: RAM: total: 7.65 GiB used: 3.27 GiB (42.7%)
Array-1: capacity: 16 GiB slots: 4 EC: None
Device-1: M1 size: 4 GiB speed: 1334 MT/s
Device-2: M2 size: 4 GiB speed: 1334 MT/s
Device-3: M3 size: No Module Installed
Device-4: M4 size: No Module Installed
Instalacja: apt install inxi
URL: https://smxi.org/docs/inxi.htm
osquery
Narzędzie stworzone przez Facebook. Pozwala pobierać informacje o systemie za pomocą zapytań SQL.
Używając SELECT * FROM memory_devices;
można zobaczyć wszystkie informacje o kościach pamięci
ale ponieważ nie mieszczą się one w jednej linii więc wybrałem tylko część z nich.
Wykonanie zapytania w trybie interaktywnym.
$ sudo osquery
osquery> SELECT form_factor, size, memory_type, max_speed FROM memory_devices;
+-------------+------+-------------+-----------+
| form_factor | size | memory_type | max_speed |
+-------------+------+-------------+-----------+
| SODIMM | 4096 | DDR3 | 1334 |
| SODIMM | 4096 | DDR3 | 1334 |
| SODIMM | 0 | DDR3 | |
| SODIMM | 0 | DDR3 | |
+-------------+------+-------------+-----------+
osquery> exit
To samo bez uruchamiania trybu interaktywnego.
$ sudo osqueryi 'SELECT form_factor, size, memory_type, max_speed FROM memory_devices;'
+-------------+------+-------------+-----------+
| form_factor | size | memory_type | max_speed |
+-------------+------+-------------+-----------+
| SODIMM | 4096 | DDR3 | 1334 |
| SODIMM | 4096 | DDR3 | 1334 |
| SODIMM | 0 | DDR3 | |
| SODIMM | 0 | DDR3 | |
+-------------+------+-------------+-----------+
Wyniki można pobrać w różnuch postachaich - np. jako JSON.
$ sudo osqueryi --json 'SELECT form_factor, size, memory_type, max_speed FROM memory_devices;'
[
{"form_factor":"SODIMM","max_speed":"1334","memory_type":"DDR3","size":"4096"},
{"form_factor":"SODIMM","max_speed":"1334","memory_type":"DDR3","size":"4096"},
{"form_factor":"SODIMM","max_speed":"","memory_type":"DDR3","size":"0"},
{"form_factor":"SODIMM","max_speed":"","memory_type":"DDR3","size":"0"}
]
W zapytaniu można stosować WHERE
(oraz inne elementy znane z SQL)
$ sudo osqueryi 'SELECT form_factor, size, memory_type, max_speed FROM memory_devices WHERE size > 0;'
+-------------+------+-------------+-----------+
| form_factor | size | memory_type | max_speed |
+-------------+------+-------------+-----------+
| SODIMM | 4096 | DDR3 | 1334 |
| SODIMM | 4096 | DDR3 | 1334 |
+-------------+------+-------------+-----------+
Instalacja: na stronie projektu jest dostępna paczka .deb
. Jest też opisane jak dodać repozytorium aby potem instalować/aktualizować za pomocą apt
URL: https://osquery.io/
i-nex
Polski program (napisany w języku Gambas) przypominający CPU-Z spod Windows.
Wygląda, że od kilku lat nie jest rozwijany i nie ma paczek instalacyjnych pod nowsze wersje Linuxa więc nie wiem czy podaje aż tak dokładne dane jak poprzenie programy. Jest wciąż dostęp do kodu źródłowego i może komuś uda się to skompilować i sprawdzić co potrafi podać na temat pamięci RAM.
URL: http://i-nex.linux.pl/ , https://github.com/i-nex/I-Nex
Inne
Jest jeszcze hwinfo
oraz okienkowy hardinfo, które podają informację o podzespołach komputera ale co do kości pamięci to wygląda, że potrafią podać tylko całkowitą pojemność.
Korzystając z powyższych programów można dane pobrać też bezpośrednio do Pythona o czym w Jak sprawdzić rodzaj pamięci RAM pod Linux z użyciem Pythona
Buy a Coffee