/ Découverte

HTOP, le monitoring en couleurs

Htop est un moniteur système pour les systèmes d’exploitation type Unix très similaire à top, qui fonctionne comme lui en mode Terminal, mais qui dispose d'un environnement en mode texte plus convivial (et coloré) que ce dernier. Il est programmé en C à l'aide de la bibliothèque ncurses.

J'ai découvert Htop après avoir utilisé comme beaucoup, Top, et surtout les commandes comme ps -aux | grep "tonservicequiplanteuh" pour trouver des processus.
Du coup, la découverte de htop a changé une partie de mes habitudes pour faire de l'admin sys (par exemple, c'est la première commande que je lance quand je me connecte à un serveur).

Installation

Htop est disponible sur les distributions linux et sur macOS.

Sur Debian et Ubuntu:

sudo apt-get install htop

Sur CentOS et Fedora:

yum install htop
dnf install htop [On Fedora 22+ releases]

Sur MacOSX:

Vous allez avoir besoin de brew pour installer htop sur MacOS
brew install htop

Une fois installé, il suffit de taper la commande htop pour le lancer.
A noter que si vous le lancez en sudo, vous pourrez lister les processus de tous les utilisateurs et interagir avec eux.

De plus, si vous souhaitez voir les processus d'un utilisateur en particulier (par exemple apache), il suffit d'utiliser l'option -u (pour user).
htop -u apache

Interface

Nous voici maintenant dans htop avec plein de processus et des nombres interessants (ah oui et contrairement à top, il y a ... des couleurs, oui des COULEURS). Et, on peut selectionner un processus à la souris.

htopGlobal
Quand je vous disais que ça marche aussi sous Mac

L'interface se divise en 2 parties:

Monitoring global

headerHtop

L’en-tête est elle même coupée en deux. Sur le coté gauche, on a l'utilisation des différents coeurs (processeurs) et la mémoire utilisée, ainsi que la mémoire virtuelle paginée (swap).
La partie droite indique quant à elle le nombre de tâches actives et de threads, la durée de fonctionnement du système (« Uptime ») ainsi que la charge moyenne (« Load average ») du système durant les dernières 1, 5 et 15 minutes.

la liste des process

htopBody

La seconde partie liste la liste des processus et ses informations associées (le numéro de processus, le nom de l’utilisateur qui a lancé les processus, le pourcentage de cpu ou de mémoire utilisé, etc).

Fonctionnalités

htopMenu

Une barre en bas récapitule les fonctionnalités de Htop accessible via les touches de fonction allant de F1 à F10. De plus, c'est dans cette barre que vous pourrez taper des mots pour le filtrage ou la recherche.

  • F1: help (raccourci h)
  • F2: Setup pour configurer l'affichage d'Htop (raccourci s)
  • F3: recherche sur le nom du processus. Si celui ci est trouvé, il est surligné. Si il y en a plusieurs, htop ne surligne que le premier (raccourci /)
  • F4: comme la recherche mais n'affichera plus que le processus renvoyé (raccourci |)
  • F5: permet d'afficher les processus sous forme d'arbre ou de manière linéaire (raccourci t)
  • F6: permet de choisir le critère de classement des processus (raccourci >)
  • F7 et F8: permet de prioriser un processus. Celui-ci sera affiché avec un -1 (en rouge) ou un +1 (en vert). L'action est cumulable. Enfin, on peut le faire seulement si on a lancé htop en sudo. (raccourci [ , ])
  • F9: permet d'envoyer un signal à un processus, le SIGKILL (9) étant le plus connu mais c'est loin d'être le seul (raccourci k)
  • F10: pour quitter htop (raccourci q)

D'autres raisons d'utiliser Htop:

  • Vous pouvez scroller verticalement pour voir tous les processus et horizontalement pour voir les commandes en entier
  • Htop démarre beaucoup plus vite que top (et je vous dit pas si vous avez un problème sur un serveur de prod, le coup de stress que vous vous prenez quand tout va lentement)
  • Vous pouvez tuer plus d'un process et cela sans connaitre leurs PID.
  • la priorisation des process de manière simple
  • Le truc en plus que j'ai découvert en écrivant cet article: le raccourci clavier e qui affiche les variables d'environnement pour un processus :)

Site et dépot git d'Htop

Bibliographie:

Sébastien Chaptal

Développeur web, buveur de café et je tente parfois de conquérir le monde dans des jeux de grande stratégie

Read More