Zaznajte strojno opremo s pomočjo dmidecode
Samodejno zaznavanje strojne opreme je bilo vedno podobno loteriji, v zadnjih letih pa se je izboljšalo, saj mnogi proizvajalci podrobneje dokumentirajo svoje izdelke in imajo posebne informacije na voljo tudi na spletu. Če želite izvedeti več o informacijah o strojni opremi glede RAM-a, nameščenega v vaši napravi, uporabite dmidecode
ukaz (paket za Debian GNU / Linux, Ubuntu in Linux Mint: dmidecode).
To orodje med drugim vsebuje podrobne podatke o nameščenih sistemskih komponentah, kot so procesor, osnovna plošča in RAM. Informacije temeljijo na namiznem vmesniku za upravljanje namizja (DMI) [1], ki je okvir, ki posamezne komponente na namizju, prenosniku ali strežniku razvrsti tako, da te komponente odvzame iz programske opreme, ki z njimi upravlja [2]. Možnost --vnesite pomnilnik
se nanaša na pomnilniške naprave. Za ostale razrede DMI si oglejte stran z navodili za dmidecode.
# dmidecode 2.12
SMBIOS 2.7 navzočih.
Ročaj 0x0007, tip DMI 16, 23 bajtov
Fizični pomnilniški niz
Lokacija: sistemska plošča ali matična plošča
Uporaba: sistemski pomnilnik
Vrsta popravka napake: Brez
Največja zmogljivost: 16 GB
Ročaj z informacijami o napakah: Ni na voljo
Število naprav: 1
Ročaj 0x0008, tip DMI 17, 34 bajtov
Pomnilniška naprava
Ročaj matrike: 0x0007
Ročaj z informacijami o napakah: Ni na voljo
Skupna širina: 64 bitov
Širina podatkov: 64 bitov
Velikost: 8192 MB
Faktor oblike: SODIMM
Set: Brez
Locator: ChannelA-DIMM0
Lokater banke: BANKA 0
Vrsta: DDR3
Podrobnosti tipa: sinhrono
Hitrost: 1600 MHz
Proizvajalec: Samsung
Serijska številka: 25252105
Oznaka sredstva: Brez
Številka dela: M471B1G73DB0-YK0
Uvrstitev: neznano
Konfigurirana taktna hitrost: 1600 MHz
Ta naprava je trenutno opremljena z 8G DDR3 RAM-om s konfigurirano taktno hitrostjo 1600 MHz. Kot lahko vidite, je največja razpoložljiva kapaciteta vgrajenega RAM-a 16G, kar pomeni, da ga je mogoče razširiti z drugim 8G modulom.
Grafični podatki o pomnilniku
Če imate raje grafični vmesnik za pridobivanje teh informacij, bi vas lahko zanimali orodji Hardinfo [3] in Hardware Lister (različica GTK +) [4]. V Debian GNU / Linux, Ubuntu in Linux Mint so ti programi na voljo prek paketov hardinfo in lshw-gtk. Slika 2 prikazuje uporabniški vmesnik Hardinfo, ki prikazuje podatke o pomnilniku pri namestitvi Xubuntu.
Koliko pomnilnika je trenutno na voljo
Včasih je manj več. V ukazni vrstici so informacije o pomnilniku na voljo prek prost
ukaz. Na Debian GNU / Linux, Ubuntu in Linux Mint je ta program del paketa procps [5]. Slika 2 prikazuje izhod v terminalskem oknu.
Kot izbor nadaljnjih možnosti, prost
sprejema različne parametre, kot so:
-b (--bajtov):
prikaži izhod v bajtih-k (--kilo):
prikaži izhod v kilobajtih-m (--mega):
prikaži izhod v megabajtih-g (--giga):
prikaži izhod v gigabajtih--tera:
prikaži izhod v terabajtih-h (- človeško):
prikaži izhod v človeško berljivi obliki
Na sliki 3 je izhod prikazan v megabajtih z uporabo možnosti -m. Sistem ima 4G RAM-a, medtem ko je trenutno v uporabi 725M.
Informacije o pomnilniku z vidika jedra Linuxa
Zgoraj omenjena orodja se opirajo na surove informacije, ki se hranijo v datotečnem sistemu proc jedra Linuxa. Če želite prikazati te podrobnosti, iznesite vsebino datoteke / proc / meminfo
uporabljati mačka
pripomoček v terminalu:
MemTotal: 7888704 kB
MemFree: 302852 kB
Mem Na voljo: 448824 kB
Odbojniki: 17828 kB
Predpomnjeno: 326104 kB
SwapCached: 69592 kB
Aktivno: 2497184 kB
Neaktivno: 650912 kB
Aktivno (anonimno): 2338748 kB
Neaktivno (anonimno): 525316 kB
Aktivno (datoteka): 158436 kB
Neaktivno (datoteka): 125596 kB
Nespremenljivo: 64 kB
Zaklenjeno: 64 kB
SwapTotal: 16150524 kB
Brez zamenjave: 15668480 kB
Umazano: 3008 kB
Povratni odpis: 0 kB
AnonStranice: 2774656 kB
Preslikana: 4414752 kB
Shmem: 59900 kB
Plošča: 130216 kB
SRIzrednost: 61748 kB
SUnreclaim: 68468 kB
KernelStack: 7328 kB
Tabele strani: 42844 kB
NFS_Nestabilno: 0 kB
Odboj: 0 kB
Povratni zapisTmp: 0 kB
ZaveziLimit: 20094876 kB
Zavezano_AS: 10344988 kB
VmallocSkupaj: 34359738367 kB
VmallocUporabljeno: 367296 kB
VmallocChunk: 34359345768 kB
Strojna oprema Poškodovana: 0 kB
AnonHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Ogromna velikost strani: 2048 kB
DirectMap4k: 78448 kB
DirectMap2M: 2756608 kB
DirectMap1G: 5242880 kB
$
Za več statističnih informacij o uporabi procesorja, pomnilniku in procesih si lahko ogledate orodja vmstat
, in iostat
(Debian paketi procps in sysstat).
Delo s procesi - ps, htop in pstree
Za prikaz aktivnih procesov vašega sistema Linux uporabite ps
ukaz. Običajno je izhod razvrščen po abecedi. Toda ps
ukaz lahko veliko več. Uporaba možnosti pom --razvrsti -rss
izhod seznama procesov je razvrščen po njihovi uporabi pomnilnika v vrstnem redu od zgoraj navzdol. Slika 4 prikazuje procese, ki najbolj zahtevajo pomnilnik. Izhod je razvrščen po šestem stolpcu z naslovom RSS, ki okrajša Resident Set Size. Vrednost je podana v kilobajtih.
Ukazi ps, pstree
in htop
so tesno povezane glede informacij, ki jih ta orodja prikazujejo. Oboje pstree
in htop
prikaže graf za vizualizacijo procesnih odvisnosti. htop
deluje kot interaktivna različica, ki vam omogoča pomikanje po seznamu postopkov gor in dol. Slika 5 prikazuje htop
v namiznem sistemu z izborom procesov, razvrščenih po njihovi specifični porabi pomnilnika (5. stolpec).
Iskanje procesov, ki uporabljajo swap pomnilnik
Več procesov se zažene, več pomnilnika je hkrati v uporabi. Takoj, ko v sistemu Linux zmanjka neuporabljenih pomnilniških strani, se jedro Linuxa odloči za zamenjavo pomnilniških strani na disk po metodi najmanj nedavno uporabljene (LRU). Če želite odgovoriti na vprašanje, kateri procesi uporabljajo swap pomnilnik in koliko ga še posebej uporabljate, si lahko ogledate izhod najboljšega programa. Leta 2016 je Erik Ljungstrom objavil kratek opis, kako pridobiti te informacije in razširiti ta stolpec na izhod na vrh [6]. Na sliki 6 je ta izhod prikazan v sistemu, ki ima v RAM-u še veliko pomnilniških strani in trenutno ne uporablja zamenjave.
Poleg tega je leta 2011 že objavil bash skript, ki ocenjuje informacije iz datotečnega sistema proc, da prikaže uporabo postopka zamenjave po postopku [7]. Tudi 7 let kasneje in že opisan kot zastarel, je skript še vedno odličen in prikazuje, kako avtomatizirati naloge v sistemu Linux. Zato smo prepričani, da je koristno, da ga še enkrat pokažemo tukaj.
Rezultat skripta je naslednji (zaženite kot koren
uporabnik pridobi celotne podatke):
PID = 1 - Uporabljena zamenjava: 0 - (systemd)
PID = 2 - Uporabljena zamenjava: 0 - (kthreadd)
PID = 3 - Uporabljena zamenjava: 0 - (ksoftirqd / 0)
PID = 5 - Uporabljena zamenjava: 0 - (kworker / 0: 0H)
PID = 6 - Uporabljena zamenjava: 0 - (kworker / u16: 0)
PID = 7 - Uporabljena zamenjava: 0 - (rcu_sched)
PID = 8 - Uporabljena zamenjava: 0 - (rcu_bh)
PID = 9 - Uporabljena zamenjava: 0 - (migracija / 0)
PID = 10 - Uporabljena zamenjava: 0 - (čuvaj / 0)
PID = 11 - Uporabljena zamenjava: 0 - (čuvaj / 1)
PID = 12 - Uporabljena zamenjava: 0 - (migracija / 1)
PID = 13 - Uporabljena zamenjava: 0 - (ksoftirqd / 1)
PID = 15 - Uporabljena zamenjava: 0 - (kworker / 1: 0H)
PID = 16 - Uporabljena zamenjava: 0 - (čuvaj / 2)
PID = 17 - Uporabljena zamenjava: 0 - (migracija / 2)
PID = 18 - Uporabljena zamenjava: 0 - (ksoftirqd / 2)
PID = 20 - Uporabljena zamenjava: 0 - (kworker / 2: 0H)
..
#
Zaključek
V orodjarni Linux je neskončen seznam programov, ki so na voljo za analizo uporabe pomnilnika vašega sistema Linux. Pravkar smo si na kratko ogledali - od surovih podatkov do vnaprej obdelanih informacij - vse je tam. Samo poznajte svoje orodje. Če se želite seznaniti z njimi, si vzemite nekaj časa in se z njimi igrajte.
To je 2. del serije o upravljanju pomnilnika jedra Linuxa. Prvi del obravnava zamenjavo pomnilnika, v tretjem delu te serije bomo razpravljali o tem, kako optimizirati uporabo pomnilnika. To bo vključevalo upravljanje diskov in stisnjenih datotek za zamenjavo.
Povezave in reference
- [1] DMI pri porazdeljeni projektni skupini za upravljanje (DMTF)
- [2] DMI na Wikipediji
- [3] Hardinfo
- [4] lshw-gtk (paket Debian za raztezanje)
- [5] procps (paket Debian za raztezanje)
- [6] Erik Ljungstrom: Ugotovite, kaj uporablja vaša zamenjava
- [7] Erik Ljungstrom: Zamenjava - 5 let kasneje
Serija za upravljanje pomnilnika Linux
- 1. del: Upravljanje pomnilnika jedra Linuxa: zamenjava prostora
- 2. del: Ukazi za upravljanje pomnilnika Linux
- 3. del: Optimizacija uporabe pomnilnika Linux
Zahvala
Avtor se zahvaljuje Mandy Neumeyer in Geroldu Rupprechtu za podporo pri pripravi tega članka.