smem

Smem este un utilitar pentru monitorizarea memoriei

Smem este o aplicație pentru Linux care oferă un raport despre consumul de memorie per proces și per utilizator.

Gestionarea memoriei, în special monitorizarea utilizării memoriei, este crucială pentru sistemul Linux. Există multe instrumente disponibile în diferite distribuții pentru a monitoriza utilizarea memoriei, fiecare funcționând în moduri diferite.

În acest ghid de utilizare, vom explora un instrument de monitorizare, smem, care vă poate ajuta să prezentați rapoarte privind consumul de memorie pentru fiecare procesor și utilizator.

Caracteristici ale Smem

Smem este un instrument de generare a rapoartelor de memorie în linia de comandă care oferă utilizatorului diverse rapoarte privind utilizarea memoriei pe un sistem Linux.

Există un lucru unic la smem, spre deosebire de alte instrumente tradiționale, acesta raportează PSS (Proporțional Set Size), o reprezentare mai semnificiativă a utilizării memoriei de către aplicații și biblioteci într-o configurației de memorie virtuală.

Instrumentele tradiționale existente se concentrează în principal pe citirea RSS (Resident Set Size), care este o măsură standard de monitorizare a utilizării memoriei într-o schemă de memorie fizică, dar care tinde să supraestimeze utilizarea memoriei de către aplicații.

PSS, pe de altă parte, oferă o măsură rezonabilă prin determinarea „împărțirii echitabile (fair-share)” a memoriei utilizate de aplicații și biblioteci într-o schemă de memorie virtuală.

Caracteristici ale instrumentului smem

  • Listarea generală a sistemului.
  • Listări și filtrare după proces, mape și utilizator.
  • Utilizare datelor din sistemul de fișiere /proc.
  • Coloane de listare configurabile din mai multe surse de date.
  • Unități și procente de ieșire configurabile.
  • Ușor de configurat antetele și totalurile din liste.
  • Utilizarea instantaneelor de date din oglinizi de directoare sau fișiere tar comprimate.
  • Mecanism încorporat de generare a graficelor.
  • Instrument de captură ușor de utilizat în sistemele încorporate.

Cum se insalează Smem

Pentru a instala Smem pe Linux utilizați următoarea comandă adecvată pentru distribuția Linux specifică.

sudo apt install smem         [Debian, Ubuntu și Mint]
sudo dnf install smem         [RHEL/CentOS/Fedora și Rocky/AlmaLinux]
sudo emerge -a sys-apps/smem  [Gentoo Linux]
sudo apk add smem             [Alpine Linux]
sudo pacman -S smem           [Arch Linux]
sudo zypper install smem      [openSUSE]    
sudo pkg install smem         [FreeBSD]

Afișarea statisticilor de utilizare a memoriei

Pentru a vizualiza un raport de utilizare a memoriei la nivelul întregului sistem, de către toți utilizatorii sistemului, executați următoarea comandă:

sudo smem

Atunci când un utilizator normal rulează smem, acesta afișează utilizarea memoriei de către un proces pe care utilizatorul l-a inițiat, procesele fiind aranjate în ordinea creșterii PSS.

Aruncați o privire la rezultatul de mai jos pe sistemul meu pentru utilizarea memoriei de către procesele pornite de către utilizatorul techroot99:

smem

Există multe opțiuni care pot fi apelate în timpul utilizării smem, de exemplu, pentru a vizualiza consumul de memorie la nivelul întregului sistem, executați următoarea comandă:

sudo smem -w
Check System Wide Memory Consumption

Afișarea utilizării memoriei per utilizator

Pentru a vizualiza utilizarea memoriei pentru fiecare utilizator în parte, rulați comanda de mai jos:

sudo smem -u

De asemenea, puteți prezenta statisticile privind utilizarea memoriei în funcție de mapare, după cum urmează:

sudo smem -m

Afișarea utilizării memoriei pe procese

Pentru a filtra ieșirea după numele procesului, utilizați opțiunea -P sau –processfilter=”regex” după cum urmează:

sudo smem --processfilter="chrome"

Formatarea ieșirii poate fi foarte importantă și anumite opțiuni care vă pot ajuta să formatați rapoartele privind memoria; în continuare vom examina câteva exemple.

Pentru a afișa coloanele dorite în raport, utilizati opțiunea -c sau –columns după cum urmează:

sudo smem -c "name user pss rss"

Puteți utiliza opțiunea -p pentru a raporta utilizarea memoriei în procente, ca și în cazul următoarei comenzi:

sudo smem -p

Comanda următoare va afișa valorile totale la sfârșitul fiecărei coloane a ieșirii:

sudo smem -t

Afișarea unei reprezentări vizuale a utilizării memoriei

În plus, există și opțiuni pentru realizarea de rapoarte grafice pe care le puteți utiliza și pe care le vom analiza în această secțiune.

Puteți produce un grafic de bare cu procesele și valorile PSS și RSS ale acestora, în exemplul de mai jos realizăm un grafic de bare cu procesele deținute de utilizatorul root.

Planul vertical arată măsura PSS și RSS a proceselor, iar planul orizontal reprezintă fiecare proces al utilizatorului root.

sudo smem --userfilter="root" --bar pid -c"pss rss"
Atenție: Dacă nici după instalarea pachetului matplotlib nu va merge comanda de mai sus, atunci va trebuie să editați fișierul /usr/bin/smem. Căutati „xrandr” și înlocuiți cu „rander”. După care salvați fișierul și rulați comanda din nou.

Puteți, de asemenea, să realizați un grafic circular care să arate procesele și consumul de memorie al acestora pe baza valorilor PSS sau RSS.

Comanda de mai jos produce un grafic circular pentru procesele care aparțin utilizatorului root, măsurând valorile.

Opțiunea –pie name înseamnă etichetarea după nume, iar optiunea -s ajuta la sortarea după valoarea PSS.

sudo smem --userfilter="root" --pie name -s pss

De final

Există multe alte câmpuri cunoscute, în afară de PSS și RSS, utilizate pentru etichetarea graficelor

Pentru a obține ajutor, tastați pur și simplu smem -h sau vizitati pagina manualului de introducere.

smem -h
sau
man smem

Pentru mai multe informații puteți accesa site-ul oficial al smem.

ThinkRoot99

Numele meu este Cristian Moldovan și sunt utilizator de Linux de peste 10 ani.Am făcut parte din mai multe echipe open source din România: Fundația Ceata, Linux Mint România, Rogentos Linux Group. Între 2014 și 2018 am fost propietarul și editorul site-ului de știri despre linux, gnulinux.ro și actual proprietar al rootlinux.ro

View all posts by ThinkRoot99 →

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *