GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Sortieren von Prozessen nach Speicherverbrauch

Verwenden Sie den folgenden Befehl:

ps aux --sort -rss

Weitere Informationen zur Speichernutzung von Linux-Prozessen finden Sie hier


Eine schnelle und schmutzige Methode besteht darin, einfach die Ausgabe von ps aux zu leiten bis sort Befehl:

$ ps aux | sort -rn -k 5,6

Beispiel

$ 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
...

Dies funktioniert nicht mit den Spaltenüberschriften, die mit der Ausgabe vermischt werden, aber es ist auf der Befehlszeile leicht zu merken und ist ein akzeptabler Weg, um das zu tun, was Sie wollen, wenn Sie diese Art von Ausgabe manuell anzeigen.

Beispiel

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]

Weitere Tipps

Ein zusätzlicher Tipp wäre, die gesamte Ausgabe an einen anderen Befehl wie less weiterzuleiten . Auf diese Weise können Sie sich die Informationen seitenweise ansehen und auch die Pfeiltasten und die Bild-auf/ab-Tasten verwenden, um vor und zurück durch die Ausgabe zu blättern.

$ ps aux | sort -rn -k 5,6 | less

Wenn Ihre Ausgabe viel umbricht, können Sie auch die -S verwenden Wechseln Sie zu less, wodurch die gesamte Ausgabe stattdessen auf einer einzigen Zeile bleibt. Sie können sich dann mit den Pfeiltasten nach links/rechts/oben/unten bewegen, um alles zu sehen.

$ ps aux | sort -rn -k 5,6 | less -S

Sortieren innerhalb von ps

Bestimmte Versionen von ps bieten die Möglichkeit, --sort zu verwenden . Dieser Schalter kann dann Schlüssel annehmen, denen entweder ein + vorangestellt ist oder ein - um die Sortierreihenfolge anzugeben... vom kleinsten zum größten oder größten zum kleinsten.

Beispiele

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

Auch wenn ps nicht den tatsächlich verwendeten Speicher widerspiegelt, ist dieser Befehl ziemlich hilfreich.

ps -eo size,pid,user,command --sort -size | awk '{ hr=$1/1024 ; printf("%13.2f Mb ",hr) } { for ( x=4 ; x<=NF ; x++ ) { printf("%s ",$x) } print "" }'

Linux
  1. Finden Sie die Top 15 Prozesse nach Speichernutzung mit „top“ im Batch-Modus

  2. Linux-Speichernutzung

  3. Linux – Echte Speichernutzung?

  4. Wie kann die Speichernutzung der Anwendung begrenzt werden?

  5. Maximale Speicherauslastung eines Prozesses

Linux Free Command (Speichernutzung prüfen)

So finden Sie die Top 10 der laufenden Prozesse nach Speicher- und CPU-Auslastung

So finden Sie die am häufigsten ausgeführten Prozesse nach Speichernutzung

So finden Sie die am häufigsten ausgeführten Prozesse nach Speicher- und CPU-Auslastung in Linux

Wie kann ich die Speichernutzung profilieren?

Speicherauslastung des TOP-Befehls