GNU/Linux >> Tutoriales Linux >  >> Linux

Clasificación de procesos por uso de memoria

Utilice el siguiente comando:

ps aux --sort -rss

Consulte aquí para ver más uso de memoria de proceso de Linux


Un método rápido y sucio es simplemente canalizar la salida de ps aux al sort comando:

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

Ejemplo

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

Esto no se aplica a los encabezados de las columnas que se mezclan con la salida, pero es fácil de recordar en la línea de comando y es una forma aceptable de hacer lo que desea al ver manualmente este tipo de salida.

Ejemplo

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]

Más consejos

Un consejo adicional sería canalizar toda la salida a otro comando como less . Esto le permite ver la información una página a la vez y también usar las teclas de flecha y las teclas de página arriba/abajo para desplazarse hacia adelante y hacia atrás a través de la salida.

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

Si su salida se ajusta mucho, también puede utilizar el -S cambie a menos, lo que obligará a toda la salida a permanecer en una sola línea. Luego puede usar las teclas de flecha para moverse hacia la izquierda/derecha/arriba/abajo para verlo todo.

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

Ordenar dentro de ps

Ciertas versiones de ps proporcionar la capacidad de usar --sort . Este conmutador puede aceptar claves que tengan el prefijo + o un - para indicar el orden de clasificación... de menor a mayor o de mayor a menor.

Ejemplos

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

Incluso si ps no refleja la memoria real utilizada, este comando es muy útil.

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. Encuentre los 15 procesos principales por uso de memoria con 'superior' en modo por lotes

  2. Encuentre los principales procesos en ejecución por mayor uso de memoria y CPU en Linux

  3. ¿Cómo limitar el uso de la memoria de la aplicación?

  4. uso y cambio de tamaño de tmpfs

  5. Uso máximo de memoria de un proceso

Comando libre de Linux (Comprobar el uso de la memoria)

Cómo encontrar los 10 principales procesos en ejecución por memoria y uso de CPU

Cómo encontrar los principales procesos en ejecución por uso de memoria

Cómo encontrar los principales procesos en ejecución por memoria y uso de CPU en Linux

¿Cómo perfilar el uso de la memoria?

Uso de memoria de comandos TOP