Ce n’est pas l’habitude de ce blog, mais lors d’une install party nous avons découvert un bug assez gênant dans Htop. Celui-ci est en effet incapable de définir correctement le nombre de processus en cours, les données affichées sont totalement incohérentes. Il est assez simple de s’en rendre compte :
- Lancez Htop et regardez le nombre de processus lancés.
- Ensuite, lancez simplement top.
- Pour finir, faites un simple ps -e | wc -l dans votre terminal.
Comme vous pouvez le voir, les valeurs renvoyés par top et la commande ps -e | wc -l sont équivalentes, ce qui n’est pas le cas de Htop !
Au moment où j’ecris ces lignes le resultat sont les suivant sur mon desktop :
- htop : 121
- top : 90
- ps -e | wc -l : 90
Le bug a été reproduit sous Archlinux, Debian, Ubuntu et Slitaz
Bien sur ce bug est déjà signalé, je profite donc simplement de ce billet pour faire un appel à l’aide. Si par chance une personne compétente peut contribuer à la résolution de ce bug, ce serait une très bonne chose ! Surtout que cet utilitaire est utilisé par beaucoup …
14 avril 2009 à 18:29
Chez moi c’est le contraire (htop affiche moins que top) :
htop : 60
top : 74
14 avril 2009 à 19:58
Ha, chez moi j’ai respectivement 56, 32 et 10 sous ArchLinux.
14 avril 2009 à 20:15
@Ricard : Bizarre que top et ps -e | wc -l donnent des valeurs aussi éloignées l’une de l’autre. 82 et 83 à l’instant, les commandes étant lancées à la suite dans le mếme terminal.
14 avril 2009 à 20:23
Y a un bug apparement avec ps:
« Warning: bad ps syntax, perhaps a bogus ‘-’? See http://procps.sf.net/faq.html »
Je regarde ça de plus près.
14 avril 2009 à 20:29
Je suis rassuré de ne pas être le seul. Htop me renvoie plus de 60(!) instances de console-kit-daemon sous Archlinux. Ça pollue un peu l’affichage…
14 avril 2009 à 20:29
@Ricard : Un simple man ps suffira je pense. Car apparemment ps utilise différentes syntaxes d’options selon le système utilisé.
Si une personne peut préciser d’avantage…
En lisant vos commentaires, j’ai l’impression que 90% de mes lecteurs sont sous ArchLinux…
14 avril 2009 à 20:56
À mon avis, ce n’est pas un bug. Pour obtenir la même chose que top, il suffit de cacher les threads, sauf ceux du kernel :
* jouer avec ‘H’ et ‘K’ dans l’interface
* ou ajouter hide_threads=1, hide_kernel_threads=0 et hide_userland_threads=1 dans le .htoprc.
14 avril 2009 à 21:22
Je pense que Mr Puit a raison.
sur mandriva cooker
top > 111
htop > 111 avec userland thread coché et kernel décoché
ps aux (ou ps -e) > 114
14 avril 2009 à 22:04
@mr_pouit : En effet cela fonctionne mais alors pourquoi tant de doublons dans l’affichage des processus ?
Et il est dommage de devoir modifier un fichier de configuration juste pour avoir des résultats similaires à ps.
14 avril 2009 à 22:11
Parce que par défaut il compte les « processus légers » (threads). Tu peux les voir dans /proc//task/*.
14 avril 2009 à 22:11
/proc/<pid>/task/* pardon
15 avril 2009 à 8:04
@Weedfast: Non, ce n’était pas un problème d’options de PS (sous Arch, on installe depuis les sources)
C’était juste un problème d’alias dans mon .zshrc (ps=ps -x).
15 avril 2009 à 13:01
mr_prouit à raison, c’est juste une histoire de configuration.
19 juin 2009 à 12:22
[...] Htop se mélange les pinceaux : un bug assez gênant découvert sur Htop. [...]