La commande ps dans la pratique

Vous aimez beaucoup votre Raspberry, mais voilà, il y a un process gourmand qui consomme toute la CPU.
Pour faire la chasse, ou tout simplement pour savoir ce qui se passe sur votre machine, il y a une commande pratique : la commande ps.
Cette commande est exécutée très souvent, mais très peu de personne l’utilise pleinement. Je vous propose donc, comme avec la commande awk, de partager avec vous mes petits tips.

Trouver les process consommant le plus de mémoire

idem@darius:~$ ps -eo pmem,pcpu,pid,args | tail -n +2 | sort -rnk 1 | head
16.6 1.8 18119 /usr/bin/python2.7 /opt/sickrage/SickBeard.py -q --daemon --nolaunch --datadir=/opt/sickrage
4.4 3.2 28075 /usr/bin/python /usr/bin/deluged -d -l /var/log/deluge/daemon.log -L warning
2.4 0.6 28079 /usr/bin/python /usr/bin/deluge-web -l /var/log/deluge/web.log -L warning
0.6 0.0 1291 rsync --server -vlHogDtpre.iLsfx . /Backup/robbie/jeedom/
0.4 0.1 1290 sshd: idem@notty
0.3 0.0 1351 sshd: idem [priv]
0.2 0.0 934 /usr/sbin/pulsewayd
0.2 0.0 30749 ssh idem@192.168.25.83
0.2 0.0 30655 -bash
0.2 0.0 30654 sshd: idem@pts/3

Trouver les process consommant le plus de cpu

idem@darius:~$ ps -eo pmem,pcpu,pid,args | tail -n +2 | sort -rnk 2 | head
4.4 3.2 28075 /usr/bin/python /usr/bin/deluged -d -l /var/log/deluge/daemon.log -L warning
16.6 1.8 18119 /usr/bin/python2.7 /opt/sickrage/SickBeard.py -q --daemon --nolaunch --datadir=/opt/sickrage
2.4 0.6 28079 /usr/bin/python /usr/bin/deluge-web -l /var/log/deluge/web.log -L warning
0.6 0.0 1291 rsync --server -vlHogDtpre.iLsfx . /Backup/robbie/jeedom/
0.4 0.1 1290 sshd: idem@notty
0.3 0.0 1351 sshd: idem [priv]
0.2 0.0 934 /usr/sbin/pulsewayd
0.2 0.0 30749 ssh idem@192.168.25.83
0.2 0.0 30655 -bash
0.2 0.0 30654 sshd: idem@pts/3

Le détail de ces 2 commandes

J’utilise donc la commande ps avec un certain nombre de paramètres que je vais détailler ci dessous.
ps Liste des processus courants

-e Selectionner l’ensemble des process

  o Spécifier un format utilisateur dont la configuration est :
pmem,pcpu,pid,args le format sera donc définit par mémoire,cpu, numéro de pid et commande

A cela, je rajoute un peu de tri avec les commandes tail et sort :

tail -n +2  : sortie standard à partir de la seconde ligne (pour éviter la sortie des entêtes de colonnes comme %MEM, etc …),
sort -rnk 1 : classé par ordre numérique (n), décroissant (r), et cela, suivant la première colonne (mémoire),
sort -rnk 2 : puis, classé par ordre numérique (n), décroissant (r), et suivant la seconde colonne (cpu),
head : sortie des 10 premières lignes uniquement.

Voilà, j’espère que ces quelques explications vous serviront. Bien entendu, essayer de les adapter au mieux à vos besoins.

A propos de Mehdi HAMIDA

Avec plus de 20 ans d’expérience dans la tech, je me suis spécialisé dans la gestion des données, le cloud (AWS, Snowflake) et l'architecture IT. Avant ça, j’étais expert technique et chef de projet sur des missions stratégiques. Je m'appelle Mehdi HAMIDA, et aujourd’hui, je partage simplement mes découvertes et connaissances à travers ce blog.

Lire aussi

Installer une VM Windows 11 sur Nutanix : guide pratique pour surmonter les obstacles

L’installation d’une VM Windows 11 sur Nutanix peut réserver quelques surprises, notamment des problèmes inattendus …

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *