GNU/Linux >> Linux Esercitazione >  >> Linux

Ordinamento dei processi in base all'utilizzo della memoria

Usa il seguente comando:

ps aux --sort -rss

Controlla qui per maggiori informazioni sull'utilizzo della memoria dei processi Linux


Un metodo rapido e sporco consiste nel reindirizzare l'output di ps aux al sort comando:

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

Esempio

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

Questo non gestisce le intestazioni di colonna che vengono mescolate con l'output, ma è facile da ricordare sulla riga di comando ed è un modo accettabile per fare quello che vuoi quando visualizzi manualmente questo tipo di output.

Esempio

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]

Altri suggerimenti

Un suggerimento aggiuntivo sarebbe quello di reindirizzare l'intero output a un altro comando come less . Ciò ti consente di visualizzare le informazioni una pagina alla volta e di utilizzare anche i tasti freccia e i tasti pagina su/giù per scorrere avanti e indietro l'output.

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

Se il tuo output sta avvolgendo molto puoi anche utilizzare il -S passa a less, che costringerà invece tutto l'output a rimanere su una singola riga. Puoi quindi utilizzare i tasti freccia per spostarti a sinistra/destra/su/giù per vedere tutto.

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

Ordinamento all'interno di ps

Alcune versioni di ps fornire la possibilità di utilizzare --sort . Questo interruttore può quindi accettare chiavi che hanno il prefisso + o un - per indicare l'ordinamento...dal minimo al più grande o dal più grande al meno.

Esempi

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

Anche se ps non riflette l'effettiva memoria utilizzata, questo comando è piuttosto utile.

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. Trova i primi 15 processi in base all'utilizzo della memoria con "top" in modalità batch

  2. Come limitare l'utilizzo della memoria dell'applicazione?

  3. Come ridurre l'utilizzo della memoria ClamAV?

  4. utilizzo e ridimensionamento di tmpfs

  5. Picco di utilizzo della memoria di un processo

Comando gratuito Linux (controlla l'utilizzo della memoria)

Come trovare i 10 principali processi in esecuzione in base all'utilizzo di memoria e CPU

Come trovare i migliori processi in esecuzione in base all'utilizzo della memoria

Come trovare i migliori processi in esecuzione in base all'utilizzo di memoria e CPU in Linux

Come profilare l'utilizzo della memoria?

Utilizzo della memoria dei comandi TOP