Cum verificăm resursele de memorie în Linux

Abilitatea de a verifica resursele memorie pe sistemele Linux urmărește filosofia populară UNIX „există mai mult decât un mod pentru a face acest lucru”. Avem comenzi multiple pentru a ver ...

Publicat la data de 17.09.2018

Actualizat la data de 21.03.2019

Scris de NAV Communications

5 minute rămase

Abilitatea de a verifica resursele memorie pe sistemele Linux urmărește filosofia populară UNIX „există mai mult decât un mod pentru a face acest lucru”. Avem comenzi multiple pentru a verifica și a diagnostica utilizarea memoriei în sistemele Linux. Comanda free afișează cantitatea totală de memorie fizică și swap din sistem, precum și buffer-ele utilizate de către kernel. Comanda vmstat raportează informații despre procese, memorie, paginare, blocare IO și activitatea CPU. Putem folosi comanda top pentru a obține o vizualizare dinamică în timp real a unui sistem care rulează. Comanda top poate afișa informații sumare despre starea sistemului, precum și o listă de sarcini gestionate în timp real de kernel-ul Linux. Dacă folosim un sistem care are o interfață grafică (GUI), am putea folosi și gnome-system-monitor pentru a vizualiza utilizarea memoriei. Utilizarea intensă a memoriei poate provoca blocaje de performanță grave ale sistemelor, dacă nu este monitorizată corespunzător și nu este ținută între anumite limite. Aceste limite de prag pot varia în funcție de resursele de memorie disponibile și de tipul de încărcări de lucru care se află în sistem. Un sistem cu o cantitate scăzută de memorie poate avea mai multe implicații negative, cum ar fi faptul că nu poate servi vizitatorii care accesează un site web pe un server web, închiderea rețelei și a altor servicii de sistem și, uneori, cauzând chiar și blocarea sistemului urmată de o clacare iminentă a acestuia.

În acest articol, vă vom arăta cum să verificați cantitatea totală de memorie (fizică și swap) disponibilă în sistemul dvs., și cantitatea de memorie utilizată. În cele din urmă, vom demonstra modul în care putem vizualiza informațiile hardware despre sistemul RAM utilizând comanda dmidecode.

1 Folosind comanda free

Comanda free este cea mai simplă și mai ușor de folosit comandă pentru a verifica utilizarea memoriei pe Linux. Iată un exemplu rapid

[root@linux ~]# free -h
total used free shared buff/cache available
Mem: 976M 266M 412M 40M 297M 491M
Swap: 2.0G 0B 2.0G

Opțiunea -h alături de comanda free afișează informații într-un format mai ușor de citit de om într-un mod similar cu opțiunea -h disponibilă la comanda df. De asemenea, putem folosi opțiunile -m și -g pentru a afișa memoria și a schimba informații în termeni de MB și, respectiv, GB. Utilizarea comenzii free fără opțiuni va afișa informațiile legate de memorie în KB. Aici, totalul 976M este memoria totală disponibilă pe sistem, care este de aproximativ 1 GB. Coloana used arată cantitatea de memorie RAM utilizată de sistem și se calculează ca fiind totală – buffer-uri-cache-free. Buff / cache este suma de memorie folosită de buffere (memoria folosită de buffer-ele kernel-ului) și memoria cache (memoria folosită de cache-ul paginilor). Memoria disponibilă este estimarea cantității de memorie disponibilă pentru pornirea aplicațiilor noi. Spre deosebire de datele furnizate de câmpurile cache sau free, acest câmp ține cont de cache-ul paginii.

2 Folosind fișierul /proc/meminfo

Comanda free obține datele sale din fișierul /proc/meminfo și încorporează informațiile într-un mod mai ușor de citit. Putem vizualiza conținutul acestui fișier direct pentru a obține o vizualizare mai detaliată a modului în care memoria este folosită de sistem. Informațiile din /proc/meminfo sunt disponibile în kB. Pentru a demonstra acest aspect, vom elimina rândurile de memorie totală și disponibilă din fișier, după cum se arată mai jos

[root@linux ~]# cat /proc/meminfo | egrep 'MemTotal|MemAvailable'
MemTotal: 999936 kB
MemAvailable: 536948 kB
[root@linux ~]#

Acestea corespund coloanelor totale și disponibile ale comenzii free pe care am discutat-o mai devreme.

3 Folosind comanda vmstat

Comanda vmstat este utilizată pentru a afișa statisticile de memorie, dar oferă o mulțime de informații suplimentare, cum ar fi paginarea, blocarea IO și activitatea CPU. Această comandă este folosită în general cu sintaxa de mai jos:

vmstat

Numărătoarea este numărul de execuții ale comenzii vmstat, iar întârzierea este intervalul de timp în secunde dintre invocările de comenzi ulterioare.
Să executăm comanda vmstat o dată cu un interval de întârziere de 1 secundă, după cum se arată mai jos:

[root@linux ~]# vmstat 1 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 0 428600 1004 330032 0 0 151 20 105 231 1 1 97 1 0
[root@linux ~]#

Sub secțiunea de memorie, comanda afișează memoria liberă împreună cu memoria utilizată pentru buffer-e și memoria cache. Unitățile de măsură pentru memorie sunt kB. Putem folosi comanda vmstat cu opțiunea -s. Să filtrăm memoria totală, folosită și liberă din ieșirea comenzii vmstat -s așa cum se arată în exemplul de mai jos.

[root@linux ~]# vmstat -s | egrep '(total|used|free) memory'
999936 K total memory
240440 K used memory
428460 K free memory
[root@linux ~]#

4 Folosind comanda top

Programul top oferă o vizualizare dinamică în timp real a unui sistem care rulează. Poate afișa informații sumare ale sistemului, cum ar fi CPU, memorie și swap, precum și o listă de procese sau threads-uri care sunt gestionate în prezent de kernel-ul Linux. Output-ul comenzii top este implicit dinamic, adică se modifică în mod continuu, în funcție de activitatea sistemului. Dar putem folosi unele opțiuni cu comanda de sus pentru a preveni acest comportament așa cum este arătat mai jos

[root@linux ~]# top -b -n 1 | head -5
top - 16:55:51 up 32 min, 2 users, load average: 0.04, 0.04, 0.08
Tasks: 125 total, 1 running, 124 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 1.0 sy, 0.0 ni, 97.7 id, 0.6 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 999936 total, 427432 free, 240788 used, 331716 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 535688 avail Mem

Când este utilizată cu opțiunea -b, comanda de sus va fi executată în modul batch și va fi executată numai pentru numărul de iterații specificate după opțiunea -n. Acest comportament este util dacă dorim să folosim output-ul comenzii top în unele scripturi. Output-ul comenzii de mai sus arată informații similare cu comanda free pe care am văzut-o mai devreme.

5 Utilizând desktopul Gnome

Aplicația „Gnome System Monitor” vă permite să afișați informații de bază despre sistem și să monitorizați procesele din acesta, utilizarea resurselor și sistemele de fișiere. Putem porni System Monitor accesând meniul System> Select Administration> System Monitor. Sau tastați următoarea comandă în promptul shell:

# gnome-system-monitor

Vizualizați informațiile RAM folosind comanda dmidecode:
Pentru a află informații hardware despre memoria RAM instalată, utilizați comanda demidecode. Acesta raportează informații utile despre memoria RAM instalată pe sistem.

[user@linux:~] $ sudo dmidecode -t 17
# dmidecode 2.12
SMBIOS 2.7 present.

Handle 0x1100, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 32 GB
Form Factor: DIMM
Set: 1
Locator: DIMM_A1
Bank Locator: Not Specified
Type: DDR3
Type Detail: Synchronous LRDIMM
Speed: 1866 MHz
Manufacturer: 00AD04B300AD
Serial Number: 408F2973
Asset Tag: 01144722
Part Number: HMT84GL7AMR4C-RD
Rank: 4
Configured Clock Speed: 1600 MHz

Comanda dmidecode de mai sus va lista detaliile hardware pentru fiecare slot DIMM de pe sistem. Pentru sloturile care nu au modulul de memorie introdus, nu se va scrie „no module inserted” în funcție de locație. Din exemplul din output-ul furnizat mai sus, putem determina că valoarea modulului de memorie este de 32 GB de tip DDR3 și are o viteză de 1866 MHz.

Concluzie

În acest articol, v-am arătat cinci metode diferite de extragere și filtrare a informațiilor legate de memorie pe sistemele Linux și v-am prezentat, de asemenea, cum puteți vizualiza informațiile hardware pentru memoria RAM instalată pe sistem.

0

Articole relevante

20 Mar2024

Cum ne ferim de phishing: Ghid pentru protejarea datelor

Citește mai departe
26 Feb2024

Cele mai bune Aplicații pentru Magazinul Online

Citește mai departe
12 Feb2024

Tutorial pas cu pas pentru Configurarea Rețelei în CentOS

Citește mai departe
28 Dec2023

Schimbarea nameserverelor pentru site-ul tău

Citește mai departe
18 Dec2023

Cum să îți creezi propriile nameservere pentru website-ul tău

Citește mai departe
24 Nov2023

Cum instalăm LAMP pe Debian 10?

Citește mai departe

Comentarii