visualizar - ver procesos que consumen mas memoria linux




¿Cómo ver los procesos principales ordenados por el uso de memoria real? (6)

Tengo un servidor con 12G de memoria. Un fragmento de la parte superior se muestra a continuación:

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                                                                                                                                      
12979 frank  20   0  206m  21m  12m S   11  0.2  26667:24 krfb                                                                                                                                                                                                                                                          
13 root      15  -5     0    0    0 S    1  0.0  36:25.04 ksoftirqd/3                                                                                                                                                                                                                                                   
59 root      15  -5     0    0    0 S    0  0.0   4:53.00 ata/2                                                                                                                                                                                                                                                         
2155 root      20   0  662m  37m 8364 S    0  0.3 338:10.25 Xorg                                                                                                                                                                                                                                                          
4560 frank  20   0  8672 1300  852 R    0  0.0   0:00.03 top                                                                                                                                                                                                                                                           
12981 frank  20   0  987m  27m  15m S    0  0.2  45:10.82 amarok                                                                                                                                                                                                                                                        
24908 frank  20   0 16648  708  548 S    0  0.0   2:08.84 wrapper                                                                                                                                                                                                                                                       
1 root      20   0  8072  608  572 S    0  0.0   0:47.36 init                                                                                                                                                                                                                                                          
2 root      15  -5     0    0    0 S    0  0.0   0:00.00 kthreadd

El free -m muestra lo siguiente:

             total       used       free     shared    buffers     cached
Mem:         12038      11676        362          0        599       9745
-/+ buffers/cache:       1331      10706
Swap:         2204        257       1946

Si entiendo correctamente, el sistema tiene solo 362 MB de memoria disponible. Mi pregunta es: ¿Cómo puedo saber qué proceso consume la mayor parte de la memoria?

Al igual que la información de fondo, el sistema ejecuta 64bit OpenSuse 12 .


Listar y ordenar los procesos por uso de memoria:

ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS

Primero debes leer una explicación sobre la salida de forma free . En pocas palabras: tiene al menos 10,7 GB de memoria fácilmente utilizable por los procesos.

Luego, debe definir qué es el "uso de memoria" para un proceso (no es fácil ni inequívoco, confíe en mí).

Entonces podríamos ayudar más :-)


Puede especificar qué columna ordenar, con los siguientes pasos:

steps:
* top
* shift + F
* select a column from the list
    e.g. n means sort by memory,
* press enter
* ok

Puede ver el uso de la memoria ejecutando este código en su terminal:

$ watch -n2 free -m
$ htop

ps aux --sort '%mem'

desde procps 'ps (por defecto en Ubuntu 12.04) genera una salida como:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
...
tomcat7   3658  0.1  3.3 1782792 124692 ?      Sl   10:12   0:25 /usr/lib/jvm/java-7-oracle/bin/java -Djava.util.logging.config.file=/var/lib/tomcat7/conf/logging.properties -D
root      1284  1.5  3.7 452692 142796 tty7    Ssl+ 10:11   3:19 /usr/bin/X -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
ciro      2286  0.3  3.8 1316000 143312 ?      Sl   10:11   0:49 compiz
ciro      5150  0.0  4.4 660620 168488 pts/0   Sl+  11:01   0:08 unicorn_rails worker[1] -p 3000 -E development -c config/unicorn.rb             
ciro      5147  0.0  4.5 660556 170920 pts/0   Sl+  11:01   0:08 unicorn_rails worker[0] -p 3000 -E development -c config/unicorn.rb             
ciro      5142  0.1  6.3 2581944 239408 pts/0  Sl+  11:01   0:17 sidekiq 2.17.8 gitlab [0 of 25 busy]                                                                          
ciro      2386  3.6 16.0 1752740 605372 ?      Sl   10:11   7:38 /usr/lib/firefox/firefox

Así que aquí Firefox es el principal consumidor con el 16% de mi memoria.

Usted también podría estar interesado en:

ps aux --sort '%cpu'

ps aux | awk '{print $2, $4, $11}' | sort -k2rn | head -n 10

(Agregando el indicador numérico -n para ordenar el comando).







opensuse