Monotoritzant processos amb HTOP


Htop és una aplicació (monitor de sistema) que ens mostra els processos del nostre sistema i ens permer gestionar-los. Està dissenyat per Linux i és una alternativa al programa per Unix top.
És interessant perquè també ens ensenya l'estat de memòria, la swap, i el consum de la CPU.
Quan un entra a la carrera i fa sistemes operatius per primera vegada o control de processos, s'utilitza el típic ps, aquest però tansols mostra els processos d'un usuari (l'actual) i no permet gestionar-los.
I si els tenim programats amb un crontab? S'executen des de l'usuari però ps no els mostra.

Tenim també la opció del famós top, però sincerament, posats a controlar processos, perquè no ho fem amb un gestor ordenat i un xic més potent?

Jo treballo amb Ubuntu, així que primer de tot l'instal·larem al nostre SO:

sudo apt-get install htop                                                                                

Un cop instal·lat si executem htop a la consola, ens apareixerà un entorn com el següent:

Àmplia informació de l'ús de la CPU

Els números en la banda esquerra de la pantalla (en el meu cas de 1 i 2) ens mostren el número de CPUs/cores que tinc al meu sistema, i la barra del costat representa l'ús d'aquests. Aquestes barres compostes de línies de colors però, què representen aquests colors?
- Verd: processos normals de l'usuari
- Groc: temps IRQ
- Magenta: Soft IRQ time
- Blau: processos de prioritat baixa
- Vermell: processos del kernel
- Gris: Temps d'espera de E/S

Àmplia informació de l'ús de la memòria

Sota les barres de progrés de la cpu podem observar les barres  de progrés de memòria i swap. Com les anteriors, aquestes també tenen un codi de colors:

- Groc: paginat de cachés
- Blau: pàgines de buffer
- Verd: pàgines de memòria utilitzades.

Mitjana de càrrega del sistema



La mitjana de càrrega del sistema és la mesura de la quantitat de feina que està desenvolupant el computador. Aquest es representa segons un període de temps i 1.0 en una cpu d'un sol core representa l'ús del 100%, si tenim 4.0 en un quad-core tenim el 100% d'utilizació. Qualsevol cosa per sota d'aquesta unitat completa significa que la càrrega està ben distribuïda entre els 4 nuclis.

Columnes dels processos



La llista de processos veiem que ens dóna bastant informació classificada en columnes. Explicarem doncs cada un d'aquests camps:

- PID: el número PID d'un procés
- USER: El propietari del procés
- PRI: La prioritat del procés, de més baix a més alt.
- NI: El valor del procés el qual afecta a la seva prioritat
- VIRT: Quantitat de memòria virtual utilitzada
- RES: Quantitat de memòria física RAM utilitzada pel procés, mesurada en KB
- SHR: Quantitat de memòria compartida utilizada
- S: L'estat del procés (pot ser Sleeping, Running, Uninterruptely sleeping, traced o zombie)
- CPU%: Percentatge d'ús del procés en el processador 
- MEM%: Percentatge de memòria RAM utilizada pel procés
- TIME+: Quant temps de CPU ha utilitzat el procés
- COMMAND: la comanda exacte que ha iniciat el procés (o nom del pare-fill)

Menú d'opcions

Abaix de la finestra veiem la barra d'opcions diferenciada per les "F". Aquestes són accessibles tant des del shortcut com amb click del ratolí:

-F1 - Help: L'ajuda típica del programa. Ens mostra entre altres coses les tecles d'accés per a les diferents funcions.
- F2 - Setup: Configuració de htop, es pot canviar el que es vol mostrar, de quina manera, amb quins colors, configurar columnes..
- F3 - Search: molt útil si tens una llarga llista de processos i busques un específic
- F4- Filter: semblant a search, ens filtra tots els processos que continguin una cadena de caràcters, també útil per identificar pares i fills.
- F5 - Tree: mostra els processos de manera que es diferencia l'herència entre aquests en forma d'arbre.
- F6 - SortBy: Els processos s'ordenen segons una columna, nosaltres decidim quina.
- F7   Nice - : Els processos tenen una prioritat en las eva lluita per rebre ràfegues de CPU, amb aquesta opció disminuim la prioritat del procés.
- F8   Nice +: El mateix que el cas anterior però a l'inrevés, augmentem la prioritat del procés.
- F9 -  Kill: al meu gust de les opcions més útils mata el procés seleccionat però deixant a l'usuari decidir quina senyal enviem al procés.
- F10 - Quit: es surt de Htop.

PLUS: diferències entre VIRT, RES i SHR

Crec que qualsevol usuari que tuilitza per primera vegada aquesta aplicació, es sent atret per les columnes VIRT, RES i SHR. En què es diferencien exactament?
VIRT representa la mida virtual d'un procés, el qual és la suma de la memòria que actualment està utilitzant, la memòria mapejada en si mateix, els fitxers en disc que han estat mapejats en ell (sobretot llibreries compartides) i memòria comaprtida amb altres processos. Parlem doncs del conjunt de memòria que pot accedir el procés en aquell moment.
RES representa la memòria física que un procés està consumint (que també correspont a  la columna%MEM).
SHR ens indica quina quantitat de la VIRT són llibreries compartides o emmòria compartida. En el cas de les llibreries, tampoc vol dir que la llibreria sigui resident sencera. Per exemple, si un programa només utilitza un parell de funcions de la llibreria, aquesta sencera serà mapejada i comptabilitzada a VIRT i SHR però només les parts de la llibreria necessàries seran carregades a la memòria RES.

Com podeu observar no cal ser enginyer de sistemes per poder controlar el nostre ordinador o el de la feina i tenir la sensació que tot "is running" perfecte.


Previous
Next Post »