Ps

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Gestion des processus
Commande ps
Contexte Package procps-ng — deux syntaxes cohabitent : UNIX (-ef) et BSD (aux)
Voir aussi Top, Kill

ps affiche un instantané des processus en cours. Contrairement à Top, la sortie n'est pas rafraîchie automatiquement — utile pour scripter, trier ou grepper une liste de processus.

Usage de base

ps -ef             # syntaxe UNIX : tous les processus, arborescence PPID visible
ps aux              # syntaxe BSD : tous les processus, %CPU et %MEM inclus
ps -ef --forest     # arborescence parent/enfant lisible (indentation)

Ne pas mélanger les deux syntaxes (ps -aux n'est pas équivalent à ps aux

le premier interprète a, u, x comme des options UNIX

séparées et ps émet un avertissement sur l'absence de processus avec un utilisateur nommé « x »).

Trier par consommation CPU

ps aux --sort=-%cpu | head -10
ps -eo pid,user,pcpu,comm --sort=-pcpu | head -10

Trier par consommation mémoire

ps aux --sort=-%mem | head -10
ps -eo pid,user,pmem,rss,comm --sort=-pmem | head -10

Repérer les processus bloqués en I/O disque (état D)

L'état D (« uninterruptible sleep », généralement une attente d'I/O disque) est visible dans la colonne STAT :

ps -eo stat,pid,user,comm | awk '$1 ~ /^D/'
ps -eo pid,rss,comm --sort=-rss    # RSS le plus élevé, autre piste pour de la pression I/O/mémoire

# suivre l'apparition de processus en D en continu
watch -n 1 "ps aux | awk '\$8 ~ /^D/'"

Personnaliser les colonnes affichées (-o / -eo)

-o (ou -eo pour tous les processus) accepte n'importe quelle combinaison de champs :

ps -eo pid,ppid,user,stat,pcpu,pmem,rss,vsz,etime,comm
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm   # ordonnancement temps réel
ps -eo pid,time,comm                                            # temps CPU cumulé par processus

Champs utiles : pid/ppid (identifiants), stat (état), pcpu/pmem (%CPU/%mémoire), rss/vsz (mémoire résidente/virtuelle en Ko), etime (durée depuis le lancement), wchan (fonction noyau où le processus est en attente), args/comm (commande complète ou nom court).

Filtrer par utilisateur

ps -u www-data -o pid,args
ps -f -u root

Contexte de sécurité (SELinux)

ps -eo euser,ruser,suser,fuser,label,comm   # utilisateur effectif/réel/sauvegardé + contexte SELinux
ps axZ                                       # raccourci : label SELinux en première colonne
ps -eM                                       # alias historique de axZ

Voir aussi

  • Top — vue rafraîchie en continu, équivalent interactif de ps aux --sort=-%cpu
  • Kill — envoyer un signal à un PID identifié avec ps