Une méthode rapide et sale consiste simplement à diriger le résultat de ps aux
la sort
commande vers:
$ ps aux | sort -rn -k 5,6
Exemple
$ ps aux | sort -rn -k 5,6
...
root 1584 0.0 0.0 22540 1236 ? S 07:04 0:01 hald-addon-storage: polling /dev/sr0 (every 2 sec)
root 1575 0.0 0.0 22536 872 ? S 07:04 0:00 /usr/libexec/hald-addon-generic-backlight
root 1574 0.0 0.0 22536 880 ? S 07:04 0:00 /usr/libexec/hald-addon-leds
root 1565 0.0 0.0 22536 876 ? S 07:04 0:00 /usr/libexec/hald-addon-rfkill-killswitch
saml 2507 0.0 0.0 22232 500 ? S 07:05 0:00 dbus-launch --sh-syntax --exit-with-session
root 1671 0.0 0.0 22156 936 ? Ss 07:04 0:00 xinetd -stayalive -pidfile /var/run/xinetd.pid
...
Cela ne prend pas en charge les en-têtes de colonne mélangés à la sortie, mais il est facile de s'en souvenir sur la ligne de commande et constitue un moyen acceptable de faire ce que vous voulez lorsque vous visualisez manuellement ce type de sortie.
Exemple
root 1791 0.0 0.0 4140 536 tty2 Ss+ 07:04 0:00 /sbin/mingetty /dev/tty2
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 996 0.0 0.0 0 0 ? S 07:04 0:01 [kdmflush]
root 982 0.0 0.0 0 0 ? S 07:04 0:00 [kvm-irqfd-clean]
Plus de conseils
Une astuce supplémentaire consisterait à diriger toute la sortie vers une autre commande telle que less
. Cela vous permet de consulter les informations page par page et d'utiliser également les touches fléchées et les touches page précédente / suivante pour faire défiler la sortie.
$ ps aux | sort -rn -k 5,6 | less
Si votre sortie encapsule beaucoup, vous pouvez également utiliser le -S
commutateur sur less, ce qui obligera toute la sortie à rester sur une seule ligne. Vous pouvez ensuite utiliser les touches fléchées pour vous déplacer gauche / droite / haut / bas pour tout voir.
$ ps aux | sort -rn -k 5,6 | less -S
Tri dans ps
Certaines versions de ps
fournissent la possibilité d'utiliser --sort
. Ce commutateur peut alors prendre les clés qui sont soit préfixées avec un +
ou -
pour indiquer l'ordre de tri ... plus ou moins grand au plus.
Exemples
vsz, -rss
$ ps aux --sort=vsz,-rss | head -5
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2 0.0 0.0 0 0 ? S 07:03 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 07:03 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S 07:03 0:01 [migration/0]
root 5 0.0 0.0 0 0 ? S 07:03 0:00 [watchdog/0]
+ vsz, + rss
$ ps aux --sort=+vsz,+rss | head -5
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2 0.0 0.0 0 0 ? S 07:03 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 07:03 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S 07:03 0:01 [migration/0]
root 5 0.0 0.0 0 0 ? S 07:03 0:00 [watchdog/0]
-vsz, -rss
$ ps aux --sort=-vsz,-rss | head -5
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1832 0.0 0.0 2088924 3312 ? Sl 07:04 0:00 /usr/sbin/console-kit-daemon --no-daemon
saml 3517 0.2 1.2 2073196 100492 ? Sl 07:06 0:34 /home/saml/.dropbox-dist/dropbox
saml 3516 0.0 0.8 2071032 67388 ? Sl 07:06 0:07 /home/saml/.dropbox-dist/dropbox
saml 2657 0.1 0.7 1580936 57788 ? Sl 07:05 0:27 nautilus
ps