¿Cómo medir el uso de memoria de proceso solaris?

11

¿Cómo verificar cuánta memoria consume un proceso solaris? Me gustaría tanto el espacio total de direcciones asignado como la cantidad que reside en la RAM.

Intenté sumar la salida de pmap con algún script awk, pero fue un truco feo. ¿Hay una mejor manera de escribirlo?

Tadeusz A. Kadłubowski
fuente

Respuestas:

18
  1. prstat -s rss

    '-s' ordena la salida de prstat por columna rss (vea la página del manual para otras columnas). Pruebe también la opción '-a' para una acumulación por usuario.

  2. ps -eo pid,pmem,vsz,rss,comm | sort -rnk2 | head

    Los 10 principales consumidores de RAM. '-o pmem' muestra el porcentaje de memoria residente, es decir, RAM utilizada por el proceso.

  3. ls -lh /proc/{pid}/as

    Manera fácil de mostrar el espacio total de direcciones (vsz) de un proceso. Útil en combinación con pgrep para acumular por usuario, patrón, ... por ejemplo:

    for pid in `pgrep -U webserver`; do ls -lh /proc/$pid/as; done
    

fuente
3

Bueno, después de leer algunas páginas de manual, obtuve lo siguiente

ps -o vsz -p $PID | tail -1

Es bastante sencillo. El formato para el tamaño de residente es rss.

Tadeusz A. Kadłubowski
fuente
2
prstat

O tal vez un script dtrace?

pyhimys
fuente
Prstat es una opción obvia para el monitoreo interactivo.
Tadeusz A. Kadłubowski
2

Yo uso la variación de esta salida en scripts:

# prstat -Z 1 1 | tail -3
ZONEID    NPROC  SWAP   RSS MEMORY      TIME  CPU ZONE                        
220       56 1057M  413M   0.3%   1:26:49 0.1% 820f6ce5-7e37-4455-80ab-b28c5de19b43
Total: 56 processes, 169 lwps, load averages: 0.07, 0.06, 0.06
Artur Pędziwilk
fuente
0

Mis $ .02 como Zenoss Community Manager ...

Zenoss puede monitorear el estado de todos sus dispositivos y servidores de red, así como los procesos que se ejecutan en sus servidores. Uno de los miembros de nuestra comunidad envió recientemente Process Monitoring para Solaris a través de SNMP: http://community.zenoss.org/docs/DOC-5882

mray
fuente