18
0
Fork 0

relecture

This commit is contained in:
jdubois 2017-11-25 17:50:33 +01:00
parent 25525d9c93
commit c155c56e76
1 changed files with 11 additions and 10 deletions

View File

@ -4,7 +4,7 @@ title: Howto Htop
...
[Htop](http://hisham.hm/htop/) est outil permettant de visualiser des processus et leurs caractéristiques (PID, CPU, mémoire, I/O…) de façon interactive sur un système Linux/Unix. Il est écrit en C avec la bibliothèque _ncurses_. Htop s'inspire de `top`, outil historique, en apportant plusieurs améliorations (couleurs, scroll vertical, interactions avec le souris, etc.).
[Htop](http://hisham.hm/htop/) est un outil permettant de visualiser des processus et leurs caractéristiques (PID, CPU, mémoire, I/O…) de façon interactive sur un système Linux/Unix. Il est écrit en C avec la bibliothèque _ncurses_. Htop s'inspire de `top`, outil historique, en apportant plusieurs améliorations (couleurs, scroll vertical, interactions avec la souris, etc.).
## Installation
@ -43,11 +43,12 @@ En appyant sur F1 on peut voir les options disponibles :
On peut configurer Htop en appuyant sur F2.
On peut notamment :
* choisir le thème de couleur (`color_scheme`)
* choisir les métriques à afficher en haut
* choisir les colonnes à afficher et leur ordre (`fields`)
* voir ou non les processus kernel (`hide_kernel_threads`)
* voir ou le chemin complet des processus (`show_program_path`)
* voir le chemin complet des processus (`show_program_path`)
Les choix sont persistants, ils sont conservés dans le fichier `~/.config/htop/htoprc`.
@ -90,7 +91,7 @@ Pour activer ces colonnes :
* F2
* Columns
* Available Columns
* Ajouter les IO_* avec F5 (en base de la liste)
* Ajouter les IO_* avec F5 (en bas de la liste)
### Filtre de processus
@ -98,22 +99,22 @@ Avec F4, on peut entrer le nom d'un processus (ou une partie du nom) et afficher
### Informations sur un processus
On peut selectionner un processus avec les flèches haut/bas ou la souris.
On peut sélectionner un processus avec les flèches haut/bas ou la souris.
On peut alors avoir les actions suivantes sur ce processus :
* `e` : lister ses variables d'environnement
* `l` : lister ses fichiers ouverts (avec `lsof`)
* `s` : lister ses appels système (avec `strace`)
* `i` : ajuste sa priorité I/O (avec `ionice`)
* `F8` : diminue sa priorité (incrémente sa valeur `nice`)
* `F7` : augmente sa priorité (décrémente sa valeur `nice`, réservé à _root_)
* `F9` : envoie un signal KILL (par défaut SIGTERM)
* `i` : ajuster sa priorité I/O (avec `ionice`)
* `F8` : diminuer sa priorité (incrémente sa valeur `nice`)
* `F7` : augmenter sa priorité (décrémente sa valeur `nice`, réservé à _root_)
* `F9` : envoyer un signal KILL (par défaut SIGTERM)
### Kill de plusieurs processus
On peut marquer des processus avec la touche `Espace` (ou la touche `c` pour les processus enfant),
puis lancer un signal KILL à tous les processus marqués en faisant F9
puis lancer un signal KILL à tous les processus marqués en faisant F9.
On peut « démarquer » tous les processus avec `U`.
@ -144,7 +145,7 @@ Si vous avez de la mémoire libre, vous pouvez forcer une libération de votre S
### Que veulent dire les colonnes _VIRT_, _RES_ et _SHR_ ?
_VIRT_ est la mémoire virtuelle d'un processus, elle inclut notamment les fichiers mappés en mémoire, la mémoire de la carte vidéo et les allocations mémoire (fonctions _malloc()_ en C) qui ne sont pas forcément utilisées en pratique.
_RES_ est la mémoire résidente d'un processus, c'est un bon indicateur de la mémoire réellement utilisée même si une partie de cette mémoire peut être partagée avec d'autres processus. Il faut noter aussi qu'en cas de fork d'un processus, la mémoire résidente sera identique pour le second processmais pas réellement utilisée car Linux utilise une méthode de copy-on-write .
_RES_ est la mémoire résidente d'un processus, c'est un bon indicateur de la mémoire réellement utilisée même si une partie de cette mémoire peut être partagée avec d'autres processus. Il faut noter aussi qu'en cas de fork d'un processus, la mémoire résidente sera identique pour le second process mais pas réellement utilisée car Linux utilise une méthode de copy-on-write.
_SHR_ est la mémoire partagée d'un processus, comme par exemple les bibliothèques partagées.
En résumé, la mémoire réellement utilisée par un processus au moment présent se situe entre _RES_-_SHR_ et _VIRT_, et l'on peut considérer que _RES_ est une bonne approximation.