Saludos les publicare algunos tips sumamente basicos para el monitoreo de nuestro sistema en Linux o unix,
Primero empezaremos con " uname -a " el cual nos mostrara el nombre y versión del sistema operativo que estamos utilizando.
el comando funciona de manera genérica para cualquier plataforma unix.
También un comando sumamente importante es prtdiag -v dentro de solaris, este comando nos sirve para ver el estatus del servidor desde la ram hasta el estatus del todo el hardware que se encuentra funcionando, asi como la version de firmware y otros componentes.
Del mismo modo tenemos " psrinfo -v " que proporciona la información de los procesadores, de favor si me corrigen ya que ignoro si esto aplique también para osx, ya que me parece solo aplicaría para solaris y algunas distros linux.
Status of virtual processor 0 as of: 05/21/2012 11:21:18
on-line since 05/06/2012 17:12:36.
The sparcv9 processor operates at 2520 MHz,
and has a sparcv9 floating point processor.
Status of virtual processor 1 as of: 05/21/2012 11:21:18
on-line since 05/06/2012 17:13:32.
Para ver la memoria disponible " prtconf | grep Memory " solo para solaris.
Memory size: 20480 Megabytes
Para conocer la cantidad de memoria ram de nuestro sistema Solaris, así como la cantidad y el tipo de CPU, tarjetas PCI y dispositivos externos con los que contamos ejecuta el siguiente comando:
/usr/platform/`uname -i`/sbin/prtdiag
Para saber el nombre de la maquina en unix o linux, tenemos 2 opciones, " uname -n " o bien hostname, ignoro si aplica para todas las distros, los eh probado en ubuntu y solaris.
Para saber nuestra ip, tecleamos " ifconfig -a " o solo " ifconfig " y nos proporcionara información referente a la ip (s) configuradas para nuestro equipo.
Uno muy util es cuando queremos saber los procesos asignados a nuestro usuario, en tal caso usuamos "ps -fu nombreusuario" en donde "nombreusuario" es el user id o nombre del usuario con el que iniciamos sesion o " ps -ef " que también nos mostrara los procesos que se están ejecutando.
Para ver el estado de la memoria podemos hacerlo con "vmstat" aunque para este comando hay muchas opciones, podemos tomar por numero de muestras y/o intervalos de tiempo, para este comando le dedicare un poco mas de tiempo en futuras entradas, por lo pronto podemos usar el manual con "man vmstat" en la consola y un ejemplo seriavmstat 3 6 el cual toma muestras cada 3 segundos y tomara 6 muestras
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr m0 m1 m3 m4 in sy cs us sy id
0 0 0 199603904 164565344 94 409 62 134 134 0 0 0 0 0 0 6809 13802 7377 0 1 99
1 0 0 196558024 160959592 0 78 0 206 206 0 0 0 0 0 0 6827 16920 7403 0 1 99
1 0 0 196557528 160959304 0 2 0 73 73 0 0 0 0 0 0 6825 9409 7181 0 2 98
0 0 0 196557528 160958624 47 51 0 377 377 0 0 0 0 0 0 7013 9912 7734 0 1 98
0 0 0 196557312 160959712 105 720 0 76 76 0 0 0 0 0 0 7236 17293 8342 0 1 99
0 0 0 196557528 160960160 0 30 0 102 102 0 0 0 0 0 0 6735 12328 6987 0 2 98
Para ver el espacio en disco podemos usar df -k (bytes) o df -h (formato megabytes o human)
df -h
Filesystem size used avail capacity Mounted on
/ 68G 8.7G 59G 13% /
/HTTPServer 2.0G 254M 1.6G 14% /HTTPServer
/NDM36 2.0G 387M 1.5G 20% /NDM36
/WebSphere61 5.0G 2.3G 2.5G 48% /WebSphere61
/arqnacar 10G 20M 9.4G 1% /arqnacar
/backlogs 2.0G 18M 1.9G 1% /backlogs
/bladelogic 2.0G 117M 1.8G 7% /bladelogic
/ctrlmagt 2.0G 163M 1.7G 9% /ctrlmagt
/dev 68G 8.7G 59G 13% /dev
Ahora bien para saber el espacio de una carpeta / filesystem podemos usar "du -ha", este comando informara sobre el tamaño de los archivos en una carpeta de forma re cursiva.
prstat -as cpu que muestra de forma ordenada los procesos que se están ejecutando y se actualiza mas o menos cada 2 segundos, solo aplica para ciertos sistemas unix (Solaris) y sirve para monitorizar también el consumo de CPU, memoria ram, swap, usuarios, es el equivalente de top en linux.
Primero empezaremos con " uname -a " el cual nos mostrara el nombre y versión del sistema operativo que estamos utilizando.
También un comando sumamente importante es prtdiag -v dentro de solaris, este comando nos sirve para ver el estatus del servidor desde la ram hasta el estatus del todo el hardware que se encuentra funcionando, asi como la version de firmware y otros componentes.
Del mismo modo tenemos " psrinfo -v " que proporciona la información de los procesadores, de favor si me corrigen ya que ignoro si esto aplique también para osx, ya que me parece solo aplicaría para solaris y algunas distros linux.
Status of virtual processor 0 as of: 05/21/2012 11:21:18
on-line since 05/06/2012 17:12:36.
The sparcv9 processor operates at 2520 MHz,
and has a sparcv9 floating point processor.
Status of virtual processor 1 as of: 05/21/2012 11:21:18
on-line since 05/06/2012 17:13:32.
Para ver la memoria disponible " prtconf | grep Memory " solo para solaris.
Memory size: 20480 Megabytes
Para conocer la cantidad de memoria ram de nuestro sistema Solaris, así como la cantidad y el tipo de CPU, tarjetas PCI y dispositivos externos con los que contamos ejecuta el siguiente comando:
/usr/platform/`uname -i`/sbin/prtdiag
Para saber el nombre de la maquina en unix o linux, tenemos 2 opciones, " uname -n " o bien hostname, ignoro si aplica para todas las distros, los eh probado en ubuntu y solaris.
Para saber nuestra ip, tecleamos " ifconfig -a " o solo " ifconfig " y nos proporcionara información referente a la ip (s) configuradas para nuestro equipo.
Uno muy util es cuando queremos saber los procesos asignados a nuestro usuario, en tal caso usuamos "ps -fu nombreusuario" en donde "nombreusuario" es el user id o nombre del usuario con el que iniciamos sesion o " ps -ef " que también nos mostrara los procesos que se están ejecutando.
Para ver el estado de la memoria podemos hacerlo con "vmstat" aunque para este comando hay muchas opciones, podemos tomar por numero de muestras y/o intervalos de tiempo, para este comando le dedicare un poco mas de tiempo en futuras entradas, por lo pronto podemos usar el manual con "man vmstat" en la consola y un ejemplo seriavmstat 3 6 el cual toma muestras cada 3 segundos y tomara 6 muestras
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr m0 m1 m3 m4 in sy cs us sy id
0 0 0 199603904 164565344 94 409 62 134 134 0 0 0 0 0 0 6809 13802 7377 0 1 99
1 0 0 196558024 160959592 0 78 0 206 206 0 0 0 0 0 0 6827 16920 7403 0 1 99
1 0 0 196557528 160959304 0 2 0 73 73 0 0 0 0 0 0 6825 9409 7181 0 2 98
0 0 0 196557528 160958624 47 51 0 377 377 0 0 0 0 0 0 7013 9912 7734 0 1 98
0 0 0 196557312 160959712 105 720 0 76 76 0 0 0 0 0 0 7236 17293 8342 0 1 99
0 0 0 196557528 160960160 0 30 0 102 102 0 0 0 0 0 0 6735 12328 6987 0 2 98
Para ver el espacio en disco podemos usar df -k (bytes) o df -h (formato megabytes o human)
df -h
Filesystem size used avail capacity Mounted on
/ 68G 8.7G 59G 13% /
/HTTPServer 2.0G 254M 1.6G 14% /HTTPServer
/NDM36 2.0G 387M 1.5G 20% /NDM36
/WebSphere61 5.0G 2.3G 2.5G 48% /WebSphere61
/arqnacar 10G 20M 9.4G 1% /arqnacar
/backlogs 2.0G 18M 1.9G 1% /backlogs
/bladelogic 2.0G 117M 1.8G 7% /bladelogic
/ctrlmagt 2.0G 163M 1.7G 9% /ctrlmagt
/dev 68G 8.7G 59G 13% /dev
Ahora bien para saber el espacio de una carpeta / filesystem podemos usar "du -ha", este comando informara sobre el tamaño de los archivos en una carpeta de forma re cursiva.
prstat -as cpu que muestra de forma ordenada los procesos que se están ejecutando y se actualiza mas o menos cada 2 segundos, solo aplica para ciertos sistemas unix (Solaris) y sirve para monitorizar también el consumo de CPU, memoria ram, swap, usuarios, es el equivalente de top en linux.
Actualización ------------
También para ver los usuarios conectados podemos utilizar, who y finger, ambos comandos muestran las sesiones conectadas a nuestro sistema. finger proporciona mayor detalle y puede ser un comando restringido al proporcionar información sensible.
y tenemos uptime, que muestra el tiempo que lleva nuestro equipo funcionando desde el último reinicio o bien apagado.
También para ver los usuarios conectados podemos utilizar, who y finger, ambos comandos muestran las sesiones conectadas a nuestro sistema. finger proporciona mayor detalle y puede ser un comando restringido al proporcionar información sensible.
y tenemos uptime, que muestra el tiempo que lleva nuestro equipo funcionando desde el último reinicio o bien apagado.
comandos
La opción –n indica el tiempo de refrescamiento de la información y –d para resaltar la evolución de los snapshots.
ahora bien como se lee free?, en el caso de linux, recordemos que linux acostumbra paginar mucho y ocupar mucho espacio es decir hay veces en que la memoria luce menor con el commando top pero al revisarla con free en la segunda fila en memoria cache free, podemos ver que aunque se cacheo mucha memoria realmente tenemos 3197896mb libres, si queremos cambiar como se despliega y ver la memoria en megas o gigas solo usamos la opcio -m y -g respectivamente y asi sera mucho mas comodo, en la parte de arriba recueda que el valor en amarillo representa la memoria real libre y no la memoria total cacheada por el sistema.
- El comando uptime:
- la hora actual
- el tiempo que el sistema está en marcha
- el número de usuarios conectados
- la carga promedio del sistema para los últimos 1, 5 y 15 minutos
#uptime 10:21:06 up 5 days, 19:11, 2 users, load average: 0.08, 0.03, 0.00
- El comando top: El comando top permite una visión dinámica del sistema en tiempo real. El comando muestra un listado de los procesos que se están ejecutando. Proporciona además un gran número de datos como el uso de la memoria y procesador…
#top top - 10:21:48 up 5 days, 19:11, 2 users, load average: 0.04, 0.03, 0.00 Tasks: 73 total, 2 running, 71 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si Mem: 3632736k total, 1049496k used, 2583240k free, 359636k buffers Swap: 1991920k total, 0k used, 1991920k free, 255052k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 28566 user 16 0 2196 1088 856 R 0.3 0.0 0:00.02 top 1 root 16 0 1564 532 464 S 0.0 0.0 0:01.21 init
- free (solo en linux): el comando free muestra información relativa al uso de la memoria. Sin embargo, el resultado mostrado por este comando es estático, para poder visualizar el uso de la memoria de manera dinámica, se le puede agregar el comando watch:
#watch –n 1 –d free
Every 1,0s: free Wed Sep 23 10:22:47 2009
total used free shared buffers cached
Mem: 3632736 1049556 2583180 0 359644 255072
-/+ buffers/cache: 434840 3197896
Swap:1991920 0 1991920
La opción –n indica el tiempo de refrescamiento de la información y –d para resaltar la evolución de los snapshots.
ahora bien como se lee free?, en el caso de linux, recordemos que linux acostumbra paginar mucho y ocupar mucho espacio es decir hay veces en que la memoria luce menor con el commando top pero al revisarla con free en la segunda fila en memoria cache free, podemos ver que aunque se cacheo mucha memoria realmente tenemos 3197896mb libres, si queremos cambiar como se despliega y ver la memoria en megas o gigas solo usamos la opcio -m y -g respectivamente y asi sera mucho mas comodo, en la parte de arriba recueda que el valor en amarillo representa la memoria real libre y no la memoria total cacheada por el sistema.
- vmstat: proporciona información sobre el uso de la memoria virtual por los threads del núcleo, el disco y la actividad del procesador.
#vmstat procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 1 0 0 2583032 359664 255088 0 0 1 14 63 22 1 0 99 0
- iostat: muestra estadísticas sobre la lectura/escritura de los dispositivos (ve detalle mas abajo)
#iostat Linux 2.6.15-23-386 (owlt02.owliancet.local) 23.09.2009 avg-cpu: %user %nice %system %iowait %steal %idle 0,53 0,03 0,04 0,07 0,00 99,33 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 1,53 1,21 28,79 604661 14429814
- du: muestra el espacio en disco usado por los directorios y sub-directorios, por defecto, partiendo del directorio en uso ‘.’. Si se pasa el nombre de un directorio como parámetro, el análisis se hará sobre éste, por ejemplo si queremos saber cuanto pesan nuestros directorio home podemos dar du -sh /home, cabe mencionar que du suele ser mucho mas preciso que df y esto debido a la forma en la que obtienen los datos uno y otro (en algun otro momento entrare en detalle con algunos "bugs del sistema donde me resulto mas util du que df .
- df: muestra la cantidad de espacio libre en los diferentes dispositivos montados o pasados como parámetro el ejemplo mas comun es df -h que muestra los puntos de montaje y el porcentaje ocupado en formato humano es decir en Megas y Gigas.
- ps: muestra una lista de los procesos que se están ejecutando y el nombre del usuario actual, podemos usar como ejemplops -u nombredelusuario o ps -uf nombre del usuario o ps -ef para que nos muestre todos los procesos.
- who: muestra la lista de usuarios conectados si se usa solo, si usamos who -r veremos el runlevel del sistema, con who -bveremos la ultima ves que se reinicio el sistema o who -a nos da todas las anteriores.
Estos comandos que siguen aplican mas para solaris que para linux como tal y son comandos con información muy especifica, en el caso de vmstat, se explica con mayor profundidad cada una de las columnas, muy util para descifrar la información que realmente se requiere.
sar (System Activity Reporter) // Solaris y algunas distros linux (red hat por ejemplo)
Esta es una de las mas potentes herramientas con las que cuenta solaris, basicamente sar se puede encender de varias formas aqui veremos cuando ya esta corriendo el servicio (
o bien el potente sar -u para ver el comportamiento del cpu, altamente recomendable y quiza algo mas atinado que prstat.
sar
-d => display activity for all block device
-g/p => actividades de paginado
-m => mensajes y actividades de semaforos
-u => utilización de CPU
-v => reporta el estatus de un proceso, i-node (estos me parece tambien los puedes ver con df -i ).
la información del los historicos se salva dentro de /var/adm/sa para solaris o bien para linux en /var/log/sa
iostat (Input/Output Statistics) en Solaris
Esta herramienta reporta de manera iterativa la actividad de E/S de terminales, discos y cintas, así como el uso del CPU.
Esto es, se nos muestra infomación dividida por 6 bloques de columnas, el primer bloque (tty), concentra dos datos tin y tout, aquí lo que se muestra son los caracteres de entrada y de salida.
Las líneas siguientes se refieren a los datos obtenidos desde el momento de la última iteración hasta un segundo después (para efectos del ejemplo, aunque puede elejirse cualquier otro valor).
Sobre este comando, exíste una variante en la cual podemos ver estadísticas extendidas
> iostat -xtc
Una salida típica de este comando sería:
otra opción seria iostat - xpnc que te arroja la utilización del total de los discos mas la controladora, te invito a que analices las opciones en el man de iostat.
3. lsof (LiSt of Opened Files)
Para tener una idea de qué procesos tienen abiertos archivos regulares, directorios, sockets (Unix e Internet), archivos especiales de bloques, etc; podemos servirnos del comando lsof, que aunque no es nativo de SunOS, se puede incorporar bajando el paquete de http://www.sunfreeware.com/ En donde se encuentra disponible para solaris 6, 8, 9 y 10, para sistemas Linux viene instalado por default (ubuntu, redhat, fedora, centoOS, etc...).
La sintáxis típica es
> lsof
un ejemplo en linux es lsof elpid.
fuser (solaris 10 en adelante y Linux) : identifica qué procesos están utilizando un fichero o carpeta determinada o un socket por ejemplo tenemos fuser -cunombredelarchivo o carpeta, o por ejemplo para saber quien esta ocupando un punto de montaje.
como podemos ver en la imagen de mas arriba salen los procesos que se están ejecutando (PID ) y además el usuario de tal forma que si quiero desmontar /home/rev o simplemente evitar que la ocupen, podemos matar los procesos por ejemplo o monitorizar el uso de la carpeta
<<< comando ejecutado en ubuntu 14.04LTS>>>
para mas detalle sobre fuser da click aqui
revisa las opciones de man, fuser es un comando muy potente.
vmstat (Virtual Memory Statistics) (solo para Solaris)
Reporta estadísticas del uso de la memoria virtual sobre los hilos del kernel, discos, memoria virtual, traps y actividad del CPU su equivalente en Linux puede ser free o bien top que es algo menos preciso o bien cat /proc/meminfo.
La sintáxis simple es:
> vmstat
Y su salida es:
Aún con lo que hemos visto hay otra opción interesante para este comando que es el switch -p
> vmstat -p 2 3
Cuya salida sería como esta:
memory page executable anonymous filesystem
swap free re mf fr de sr epi epo epf api apo apf fpi fpo fpf
3555664 166616 553 1867 3 0 0 3 0 0 0 0 0 3 3 3
3439168 157080 7 93 0 0 0 0 0 0 0 0 0 0 0 0
3439160 157072 7 80 0 0 0 0 0 0 0 0 0 0 0 0
Como se observa, se agregan nuevas columnas, esto debido a que el modificador -p hace que vmstat reporte también la actividad de la paginación. Las columnas nuevas significan:
epi Executable page-ins.
epo Executable page-outs.
epf Executable page-frees.
api Anonymous page-ins.
apo Anonymous page-outs.
apf Anonymous page-frees.
fpi File system page-ins.
fpo File system page-outs.
fpf File system page-frees.
Debe decirse que en equipos multiprocesadores, vmstat presenta estadísticas promedio de los procesadores. A fin de tener los datos específicos de cada uno de ellos es necesario usar mpstat, herramienta que se describe a continuación.
mpstat (Multi Processor Statistics)
Este comando devuelve reportes estadísticos de cada uno de los procesadores o bien, por grupo de procesadores.
La sintáxis común es:
> mpstat
Y su salida es:
El resto de las columnas son:
Comandos proc (Processes Commands)
Este conjunto de comandos toma información sobre los procesos en especial entonces si queremos buscar un proceso podemos usar pgrep y el PID (process ID)
para problemas con Java podemos utilizar pstack siendo este comando sumamente util para ver el comportamiento de una app en cuanto a consumo de memoria.
Tambien tenemos el comando pkill y el process id para matar un proceso muy similar al kill -9
Esta es una de las mas potentes herramientas con las que cuenta solaris, basicamente sar se puede encender de varias formas aqui veremos cuando ya esta corriendo el servicio (
svcadm enable sar)podemos usar sar -r para ver las estadisticas de la memoria en kilobytes
o bien el potente sar -u para ver el comportamiento del cpu, altamente recomendable y quiza algo mas atinado que prstat.
sar
-d => display activity for all block device
-g/p => actividades de paginado
-m => mensajes y actividades de semaforos
-u => utilización de CPU
-v => reporta el estatus de un proceso, i-node (estos me parece tambien los puedes ver con df -i ).
la información del los historicos se salva dentro de /var/adm/sa para solaris o bien para linux en /var/log/sa
iostat (Input/Output Statistics) en Solaris
Esta herramienta reporta de manera iterativa la actividad de E/S de terminales, discos y cintas, así como el uso del CPU.
La sintáxis típica del comando es algo como lo siguiente:
> iostat 1 5
Esto significa que cada intervalo de 1 segundo y por 5 veces, el comando nos mostrarátty sd21 sd23 sd24 sd25 cpu tin tout kps tps serv kps tps serv kps tps serv kps tps serv us sy wt id 0 76 0 0 0 3 0 17 192 3 75 17 3 7 3 3 22 72 0 693 0 0 0 0 0 0 0 0 0 17 4 6 0 3 48 48 0 670 0 0 0 0 0 0 8 2 5 17 4 8 1 4 24 70 0 670 0 0 0 0 0 0 9 2 12 17 4 11 2 5 24 68 0 670 0 0 0 0 0 0 384 3 7 8 2 9 8 8 40 44
Las siguientes cuatro columnas (sd21 a sd25), se refieren a estadísticas de 5 discos duros.
Cada uno de estos discos tiene tres columnas que significan:
Finalmente, viene una columna especial para el cpu:Cada uno de estos discos tiene tres columnas que significan:
- kps: Bloques por segundo.
- tps: Transacciones por segundo.
- serv: Tiempo de servicio promedio, en mlisegundos.
- us: En modo usuario.
- sy: En modo de sustema.
- wt: En espera de E/S.
- id: En modo idle.
Las líneas siguientes se refieren a los datos obtenidos desde el momento de la última iteración hasta un segundo después (para efectos del ejemplo, aunque puede elejirse cualquier otro valor).
Sobre este comando, exíste una variante en la cual podemos ver estadísticas extendidas
> iostat -xtc
Una salida típica de este comando sería:
extended device statistics tty cpu device r/s w/s kr/s kw/s wait actv svc_t %w %b tin tout us sy wt id sd21 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 0 0 0 0 100 sd22 0.0 0.0 0.4 0.4 0.0 0.0 49.5 0 0 sd23 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0En donde cada columna significa:
- r/s: porcentaje de Lecturas por segundo.
- w/s: porcentaje de Escrituas por segundo.
- Kr/s: Kb leídos por segundo. ---> importante para ver la cantidad de lectura
- Kw/s: Kb escritos por segundo. --> importante para ver la escritura
- wait: Número promedio de transacciones en espera de servicios (Longitud de la cola)
- actv: Número promedio de transacciones activamente servidas.
- svc_t: Tiempo promedio de servicio.
- %w: Porcentaje de tiempo en que la cola no está vacía.
- %b: Porcentaje de tiempo en que el procesador está ocupado.
otra opción seria iostat - xpnc que te arroja la utilización del total de los discos mas la controladora, te invito a que analices las opciones en el man de iostat.
3. lsof (LiSt of Opened Files)
Para tener una idea de qué procesos tienen abiertos archivos regulares, directorios, sockets (Unix e Internet), archivos especiales de bloques, etc; podemos servirnos del comando lsof, que aunque no es nativo de SunOS, se puede incorporar bajando el paquete de http://www.sunfreeware.com/ En donde se encuentra disponible para solaris 6, 8, 9 y 10, para sistemas Linux viene instalado por default (ubuntu, redhat, fedora, centoOS, etc...).
La sintáxis típica es
> lsof
un ejemplo en linux es lsof elpid.
fuser (solaris 10 en adelante y Linux) : identifica qué procesos están utilizando un fichero o carpeta determinada o un socket por ejemplo tenemos fuser -cunombredelarchivo o carpeta, o por ejemplo para saber quien esta ocupando un punto de montaje.
como podemos ver en la imagen de mas arriba salen los procesos que se están ejecutando (PID ) y además el usuario de tal forma que si quiero desmontar /home/rev o simplemente evitar que la ocupen, podemos matar los procesos por ejemplo o monitorizar el uso de la carpeta
<<< comando ejecutado en ubuntu 14.04LTS>>>
para mas detalle sobre fuser da click aqui
revisa las opciones de man, fuser es un comando muy potente.
vmstat (Virtual Memory Statistics) (solo para Solaris)
Reporta estadísticas del uso de la memoria virtual sobre los hilos del kernel, discos, memoria virtual, traps y actividad del CPU su equivalente en Linux puede ser free o bien top que es algo menos preciso o bien cat /proc/meminfo.
La sintáxis simple es:
> vmstat
Y su salida es:
kthr memory page disk faults cpu r b w swap free re mf pi po fr de sr s3 -- -- -- in sy cs us sy id 0 0 0 3557544 166696 553 1866 6 3 3 0 0 8 0 0 0 397 10621 2212 9 12 78En este caso
- kthr: Reporta el número de hilos del kernel en cualquiera de los siguientes estados:
- r: El número de hilos en la cola de ejecución
- b: El número de hilos bloqueados, en espera de recursos de E/S.
- w: El número de procesos ligeros (LWPs) en swap, esperando por ecursos para finalizar.
kthr memory page disk faults cpu r b w swap free re mf pi po fr de sr s3 -- -- -- in sy cs us sy id 0 0 0 3557544 166696 553 1866 6 3 3 0 0 8 0 0 0 397 10621 2212 9 12 78 2 0 0 3437616 159800 2128 5211 0 0 0 0 0 0 0 0 0 438 13856 2318 35 19 46 5 0 0 3437616 159792 2324 5604 0 0 0 0 0 1 0 0 0 425 14711 2391 39 20 41 0 0 0 3439064 161616 200 552 0 4 4 0 0 2 0 0 0 362 7254 2126 9 6 86 0 0 0 3439064 161616 7 80 0 0 0 0 0 0 0 0 0 352 6649 2099 6 4 90
> vmstat -p 2 3
Cuya salida sería como esta:
memory page executable anonymous filesystem
swap free re mf fr de sr epi epo epf api apo apf fpi fpo fpf
3555664 166616 553 1867 3 0 0 3 0 0 0 0 0 3 3 3
3439168 157080 7 93 0 0 0 0 0 0 0 0 0 0 0 0
3439160 157072 7 80 0 0 0 0 0 0 0 0 0 0 0 0
Como se observa, se agregan nuevas columnas, esto debido a que el modificador -p hace que vmstat reporte también la actividad de la paginación. Las columnas nuevas significan:
epi Executable page-ins.
epo Executable page-outs.
epf Executable page-frees.
api Anonymous page-ins.
apo Anonymous page-outs.
apf Anonymous page-frees.
fpi File system page-ins.
fpo File system page-outs.
fpf File system page-frees.
Debe decirse que en equipos multiprocesadores, vmstat presenta estadísticas promedio de los procesadores. A fin de tener los datos específicos de cada uno de ellos es necesario usar mpstat, herramienta que se describe a continuación.
mpstat (Multi Processor Statistics)
Este comando devuelve reportes estadísticos de cada uno de los procesadores o bien, por grupo de procesadores.
La sintáxis común es:
> mpstat
Y su salida es:
CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl 0 1028 0 177 353 243 1083 30 366 62 0 5631 10 13 0 77 1 839 0 205 44 14 1129 29 365 51 0 4990 9 12 0 79
Esto significa básicamente que en el sistema tenemos instalados dos procesadores, y si revisamos las cuatro últimas columnas encontraremos algo interesante, ahí se describe el porcentaje que el procesador ha dedicado a procesos de usuario (usr), procesos de sistema (sys), así como el porcentaje de tiempo que ha pasado esperando por E/S (wt) y finalmente el porcantaje de tiempo que el procesador ha estado inactivo (idl).El resto de las columnas son:
- minf: Fallas menores
- mjf: Fallas mallores
- xcal: Llamadas cruzadas interprocesadores.
- intr: Interrupciones.
- ithr: Interrupciones como hilos.
- csw: Cambios de contexto
- icsw: Cambios involuntario de contexto
- migr: Migración de hilos (a otros procesadores)
- smtx: Spins en mutexes (bloqueo no adquirido en el primerintento)
- srw: Spins en bloqueos de lectura/escritura (bloqueo no adquirido en el primerintento)
- syscl: Llamadas al sistema
- set: Grupo de procesadores al que se pertenece
- usr: Porcentaje de tiempo en procesos de usuario.
- sys: Porcentaje de tiempo en procesos de sistema.
- wt: El tiempo de espera de E/S no se calcula ya como porcentaje de tiempo de CPU, por lo tanto siempre va a regresar 0 su medición.
- idl: Porcentaje de tiempo sin utilizar.
Comandos proc (Processes Commands)
Este conjunto de comandos toma información sobre los procesos en especial entonces si queremos buscar un proceso podemos usar pgrep y el PID (process ID)
para problemas con Java podemos utilizar pstack siendo este comando sumamente util para ver el comportamiento de una app en cuanto a consumo de memoria.
Tambien tenemos el comando pkill y el process id para matar un proceso muy similar al kill -9
- pflags:
- pcred
- pldd
- psig
- pstack
- pfiles
- pstop
- prun
- pwait
- ptime
Fuente : http://tecnoycosas.blogspot.ch/2012/05/comandos-basicos-para-monitoreo.html
Comentarios
Publicar un comentario