CAPÍTULO 12: CAPÍTULO 12: HERRAMIENTAS DE HERRAMIENTAS DE EVALUACIÓNEVALUACIÓN
12.1 Herramientas para Unix12.1 Herramientas para Unix
Top
El comando top es una herramienta para identificar
problemas con un sistema Linux. El comando top
despliega los procesos que realizan uso intensivo
de la CPU. Más específicamente, top muestra en
vivo la actividad de los procesos. El período de
refrescamiento de los datos es de cinco segundos.
12.1.1 Top12.1.1 TopCampo Descripción
up
El tiempo que el sistema ha estado encendido y los tres promedios de carga para el sistema. Los promedios de carga son el número promedio de procesos listos para ejecutarse durante el último minuto, cinco y quince minutos. Esta línea es similar a la salida de uptime.
processes
El número total de procesos ejecutándose al tiempo de la últimaactualización. Este número está dividido entre las tareas que están durmiendo, ejecutándose, detenidas y en estado zombie.
CPU states
Estadísticas sobre el uso de la memoria, incluyendo la memoria total disponible, memoria libre, memoria usada, memoria compartida, y memoria usada para buffers.
swap
Estadísticas sobre el espacio de swap, incluyendo espacio total de swap, espacio disponible de swap, y espacio de swap usado.
PID El identificador de proceso de cada tarea.
USER El nombre de usuario del dueño de la tarea.
PRI La prioridad de la tarea
12.1.1 Top12.1.1 TopCampo Descripción
N1 El valor nice de la tarea. Valores negativos de nice tienen baja prioridad.
SIZE El tamaño del código de la tarea más datos, más espacio de la pila, en kilobytes.
RSS La cantidad total de memoria física usada por la tarea, en kilobytes.
SHARE La cantidad de memoria compartida usada por la tarea.
STATE
El estado de la tarea: S para dormido, D para dormido ininterrumpido, R para ejecución, Z para zombies, o T para detenido o rastreado.
TIME El tiempo total de CPU que la tarea ha usado desde que inició.
%CPU La parte de la tarea del tiempo de CPU desde la actualización de la pantalla, expresado como un porcentaje del tiempo total de CPU.
%MEM La parte de la tarea de la memoria física.
COMMAND
El nombre del comando que inició la tarea, que está truncado si las tareas tienen solamente el nombre del programa en paréntesis (por ejemplo (getty))
12.1.2 Free12.1.2 FreeEs otro comando para mostrar la cantidad de
memoria que es usada y la porción que está libre.
Mem: muestra la memoria físicaused: cantidad de memoria usada free: cantidad de memoria libre shared: memoria compartida por varios procesosbuffers: tamaño actual de buffers cache del discocached: cuánta memoria ha sido cachea off al discoswap: información similar para los espacios de
swap. Si esta línea tiene valores cero, el espacio de swap no está activado.
12.1.3 Uptime12.1.3 UptimeUptime genera uno de los reportes más simples
que se puede usar para monitorear el desempeño del sistema Unix. Mide el número de procesos en la cola de ejecución durante los intervalos dados. Es tanto una vista de alto nivel de la carga del sistema como un lugar de inicio práctico, cuando el sistema parece estar desempeñándose lento. En general, los procesos en la cola de ejecución son programas activos (esto es, no dormidos o esperando) que demandan recursos del sistema.
12.1.3 Uptime12.1.3 UptimeLas partes útiles del despliegue son los tres datos
referentes a la carga promedio que se midieron durante el último, los últimos cinco y los últimos quince minutos respectivamente. Lo que se busca usualmente es la tendencia de la carga. El comando uptime tiene ciertas limitaciones, por ejemplo, trabajos con alta prioridad no son distinguidos de trabajos de baja prioridad, aunque su impacto sobre el sistema no pueda ser muy grande.
12.1.4 Sar -q12.1.4 Sar -qSi no se soporta uptime, existe una opción para
sar, que provee una vista breve de alto nivel sobre el sistema. La opción -q reporta el promedio de la longitud de la cola y el porcentaje de tiempo que la cola está ocupada. Los campos en este reporte se listan a continuación.
12.1.4 Sar -q12.1.4 Sar -qCampo Descripción
runq-sz
Esta es la longitud de la cola de ejecución durante el intervalo. La lista de la cola de ejecución no incluye trabajos dormidos o en espera de entrada/salida, si incluye trabajos que están en memoria y listos para correr.
%runocc Este es el porcentaje de tiempo que la cola de ejecución está ocupada.
swpq-sz Este es el promedio de la longitud de la cola de swap durante el intervalo. Los trabajos o hilos que han sido intercambiados y por ello no están disponibles para ejecutarse son mostrados aquí.
%swpocc Este es el porcentaje de tiempo que existen trabajos intercambiados o hilos.
12.1.5 Sar -u12.1.5 Sar -uOtra herramienta rápida y fácil en su uso para
determinar la utilización del sistema en general, es sar con la opción -u. La CPU puede estar ocupada o desocupada. Cuando está ocupada, está trabajando sobre los trabajos de los usuarios o del sistema. Cuando no está ocupada, puede estar esperando por entrada/salida o estar desocupada. Los campos en el reporte son los siguientes:
12.1.5 Sar -u12.1.5 Sar -uCampo Descripción
%usr
Este es el porcentaje de tiempo que el procesador está en modo usuario (esto es, ejecutando código solicitado por un usuario).
%sys
Este es el porcentaje de tiempo que el procesador está en modo sistema, sirviendo llamadas del sistema. Los usuarios pueden causar que este porcentaje se incremente sobre los niveles normales usando llamadas del sistema de forma ineficiente.
%wio
Este es el porcentaje de tiempo que el procesador está esperando para la terminación de entrada/salida desde el disco, NFS, o RES. Si el porcentaje es regularmente alto, se debe chequear los sistemas de entrada/salida por si existieran ineficiencias.
%idle
Este es el porcentaje de tiempo que el procesador está desocupado. Si el porcentaje es alto y el sistema está cargado pesadamente, existe probablemente un problema de memoria o entrada/salida.
12.1.6 Ps12.1.6 PsUno de los comandos más valiosos para
monitorear el desempeño es el comando ps. Habilita el monitoreo del estado de los procesos activos en el sistema. Ps ayuda a identificar los sospechas usuales (esto es, procesos sospechosos que podrían estar usando excesivos recursos). Luego se puede proceder a determinar cuál de las sospechas es actualmente culpable de causar la degradación del desempeño. Usando varias opciones, la siguiente información se despliega:
12.1.6 Ps12.1.6 PsCampo Descripción
F Bandera que indica el estado actual del proceso y es calculado mediante la suma de cada uno de los valores hexadecimales:00 Proceso que ha terminado01 Proceso del sistema, siempre en memoria02 Proceso que está siendo rastreado por su padre04 Proceso que está siendo rastreado por su padre, y está detenido08 Proceso que no puede ser despertado por una señal10 Proceso que está en memoria y bloqueado, espera un evento20 Proceso que no puede ser intercambiado
S El estado actual del proceso, indicado por una de las siguientes letras:O El proceso está actualmente ejecutándose en el procesadorS El proceso está dormido, esperando por un evento de
entrada/salida (incluyendo terminales) para completarR El proceso está listo para ejecutarse1 El proceso está desocupadoZ El proceso es un zombie (este ha terminado, y el padre no está
esperando pero todavía está en la tabla de procesos)T El proceso está detenido porque el padre está rastreándoloX El proceso está esperando por más memoria
12.1.6 Ps12.1.6 PsCampo Descripción
UTD Identificador único del usuario dueño del proceso
PID Identificador único del proceso
PPID Identificador único del padre del proceso
C Utilización de la CPU para planificación
CLS Clase de planificación, tiempo real, tiempo compartido, o sistema
PRI Prioridad en la planificación de los procesos
NI Número nice del proceso (usado en las prioridades de planificación de trabajos, elevar e! número disminuye la prioridad, por consiguiente el proceso tiene menos tiempo de CPLT)
SZ La cantidad de memoria virtual solicitada por el proceso
TTY El terminal que inició el proceso, o su padre (A ? indica que no existe terminal)
TÍME La cantidad total de tiempo de CPU usada por el proceso desde que este inició
COMD El comando que generó el proceso
12.1.7 Vmstat12.1.7 VmstatEl comando vmstat es usado para examinar
estadísticas de la memoria virtual, y presentar información sobre el estado de los procesos, memoria de swap libre y usada, actividad de paginación, reporte de disco, carga de la CPU, swapping, limpieza del cache, e interrupciones. El formato del comando es: vmstat t [n]
Este ejemplo toma n muestras, a intervalos de t segundos. Los campos en el reporte de vmstat son los siguientes:
12.1.7 Vmstat12.1.7 VmstatCampo Descripción
procs Reporta el número de procesos en cada una de los siguientes estados:
r En la cola de ejecución
b Bloqueado, esperando por recursos
w Intercambiado, swapped, esperando por preparación de recursos
memory Reporta sobre la memoria virtual y real
swap Espacio de swap disponible
Free Tamaño de la lista libre
Page Reporta fallos de página promediados sobre un intervalo (5 s) y en unidades/s.
Re Páginas recuperadas de la lista libre
Mf Faltas menores (no mostradas cuando la opción -S es solicitada)
Si Número de páginas intercambiadas swapped in
So Número de páginas intercambiadas swapped out
Pi Kilobytes paged in
po Kilobytes page out
12.1.7 Vmstat12.1.7 VmstatCampo Descripción
fr Kilobytes liberados
de Anticipación inmediata de déficit de memoria
sr Páginas buscadas por el algoritmo de reloj, por segundo
disk Muestra el número de operaciones de disco por segundo
faults Muestra la tasa de interrupciones por segundo
in Interrupciones de dispositivo
Sy Faltas del sistema por segundo
es Cambios de contexto de ia CPU
us Tiempo de usuario
sy Tiempo de sistema
id Tiempo desocupado
12.1.8 Sar -wpgr12.1.8 Sar -wpgrSirve para obtener más información sobre el estado
de la memoria del sistema.Campo Descripción
swpin/s Número de transferencias a memoria en segundos
bswin/s Número de bloques transferidos para swap-ins por segundo
svvpot/s
# de transferencias de la memoria al área de swap por segundo. (Más memoria puede ser necesitada si el valor es mayor que uno)
bswot/s Número de bloques transferidos para swap-outs por segundo
pswch/s Número de cambio de procesos por segundo
atch/s
Número de attaches por segundo (esto es, faltas de página donde la página es reclamada desde la memoria)
pgin/s
Número de veces por segundo que los sistemas de archivos consiguen page-in solicitudes
ppgin/s Número de páginas paged in por segundo
pflt/'s # de fallos de página provenientes de errores de protección por seg
vflt/s # de fallos de página por traducción de direcciones por segsiock/s
Número de faltas por segundo causadas por solicitudes de bloqueo de software que requieren entrada/salida.
12.1.8 Sar -wpgr12.1.8 Sar -wpgrCampo Descripción
pgout/'s
Número de veces por segundo que los sistemas de archivo consiguen paged out solicitudes
ppgout/s Número de páginas paged out por segundopgfree/s
Número de páginas que están colocadas en la lista libre por el demonio de obtención de páginas. (Más memoria puede necesitarse si es un valor grande)
pgscan/s
Número de páginas registradas por el demonio de obtención de páginas. (Más memoria puede requerirse si es un vaior grande, porque muestra que el demonio está examinando por memoria libre más de lo que necesitaría)
%ufs_ipg
Porcentaje de los inodos ufs que fueron retirados de la lista libre que tenían páginas reusables asociadas a ellos. (Valores grandes indican que los inodos ufs deberían ser incrementados, de manera que la lista libre de inodos no será page bound). Esto será %s5ipf para los sistemas de archivos System V.
freemem
El número promedio de páginas, sobre este intervalo, de memoriadisponibles para los procesos del usuario.
freeswp El número de bloques de disco disponibles para page swapping,
12.1.9 Iostat12.1.9 IostatEl comando iostat es usado para examinar la
entrada y salida del disco y produce la cantidad de información procesada por unidad de tiempo, utilización, longitud de la cola, tasa de transacción e información del tiempo de servicio. Es similar en formato y uso al comando vmstat. El formato del comando es: iostat t [n] Este comando toma n muestras, a intervalos de t segundos.
La primera línea del reporte muestra las estadísticas desde el último rebote. Las líneas subsiguientes muestran los intervalos de información. El formato por defecto del comando muestra estadísticas para terminales (tty), para discos (fd y sd), y CPU.
12.1.9 Iostat12.1.9 IostatPara cada terminal, iostat muestra io siguiente:
tin Caracteres en la cola de entrada del terminal
tout Caracteres en la cola de salida del terminal
Para cada disco, iostat muestra lo siguiente
bps Bloques por segundo
tps Transferencias por segundo
serv Promedio del tiemno de servicio, en milisegundos
Para la CPU, iostat despliega el tiempo de CPU dispuesto en los siguientes modos
Us Modo usuario
Sy Modo sistema
Wt Esperando por entrada/salida
Id Modo desocupado
12.1.10 Iostat -xtc12.1.10 Iostat -xtcSe puede usar el comando iostat -xtc para mostrar
las mediciones de todos los drivers del sistema.
Campo Descripción
r/s Lecturas por segundo
w/s Escrituras por segundo
kr/s Kilobytes leídos por segundo
kw Kilobytes escritos por segundo
waitPromedio de transacciones esperando por servicio (esto es, longitud de la cola)
actv Promedio de transacciones activas siendo servidas
svc_T Tiempo promedio, en milisegundos, de servicio
%w Porcentaje de tiempo que la cola no está vacía
%b Porcentaje de tiempo que el disco está ocupado
12.1.11 Sar -d12.1.11 Sar -dLa opción -d del sar reporta la actividad del
entrada/salida del disco del sistema: %sar -d 5 5.
Campo Descripción
device Menciona el disco que está siendo medido
%busyPorcentaje de tiempo que el dispositivo está ocupado sirviendo transferencias
avqueNúmero promedio de solicitudes pendientes excepcionales durante el período
r+w/sTransferencias de lecturas/escritura al dispositivo por segundo
blks/s Número de bloques transferidos al dispositivo por segundoavwait
Número promedio de milisegundos que una solicitud de transferencia utiliza esperando en la cola para servicio
avserv
Número promedio de milisegundos para que una transferencia sea completada, incluyendo tiempo de búsqueda, tiempo de latencia rotacional y tiempo de transferencia de información
12.1.12 Df -k12.1.12 Df -kEl comando df –k muestra el espacio libre en disco
para cada disco montado en Kb.
Campo Descripción
Kbytes Tamaño total de espacio usable en el sistema de archivos
Used Espacio usado
Avail Espacio disponible para uso
Capacity Porcentaje de la capacidad total usada
Mounted on Punto de móntale
12.1.13 Netstat -i12.1.13 Netstat -iUn chequeo completo de las operaciones de red
puede hacerse con netstat -i. Este comando puede entregar información sobre la integridad del sistema y todas las estaciones de trabajo que comparten la red. Cuando más de una de estas entidades trata de usar la red al mismo tiempo, la información de una máquina colisiona con aquella de la otra. En adición, varios problemas técnicos pueden causar errores en la transmisión y recepción de información. Así como los errores y las colisiones incrementan en frecuencia, el desempeño de la red se degrada debido a que quien envía la información retransmite la información distorsionada, lo cual incrementa la actividad de la red.
12.1.13 Netstat -i12.1.13 Netstat -iCampo DescripciónName
El nombre de la interface de red. Los nombres muestran el tipo de la interface (por ejemplo, seguido por un dígito indica una tarjeta Ethernet, el valor loO muestra una interface de ciclo de retorno loopback, usada para probar la red)
Mtu
La máxima unidad de transferencia, también conocida como el tamaño del paquete, de la interface
Net/Dest La red a la cual la interfase está conectadaAddress
La dirección internet de la interface. (La dirección internet para estenombre puede ser referenciada en el archivo /etc/hosts)
IpktsEl número de paquetes que el sistema ha recibido desde el último booteo
lerrs
El número de errores de entrada que han ocurrido desde el último booteo. Esto debería ser un número bajo relativo al campo Ipkts (esto es, menor que el 0.25%, o existe probablemente un problema significativo de red)
Opkts El mismo significado que Ipkts, pero para paquetes enviados.Oerrs El mismo significado que lerrs, pero para errores de salida
Collis
El número de colisiones que han sido detectadas. Este número no debería ser mayor al 5% o 10% del número de paquetes de salida (Opkts) o quizá la red está teniendo demasiadas colisiones y la capacidad es reducida.
12.1.14 Nfsstat -c12.1.14 Nfsstat -cLa opción -c especifica las estadísticas del cliente,
y -s puede ser usada para las estadísticas del servidor. Como su nombre indica, las estadísticas del cliente resumen el uso del sistema de otras máquinas como servidor. El servicio NPS usa procedimientos asíncronos llamados RPC's (remote procedure calis). Esto significa que el cliente espera por el servidor para completar la actividad de archivos antes de que este proceda. Si el servidor falla al responder, el cliente retransmite la solicitud. Solamente las colisiones, la peor condición de la comunicación, generan más tráfico. Mientras más tráfico se genera, la red es más lenta y aumenta la posibilidad de colisiones.
12.1.14 Nfsstat -c12.1.14 Nfsstat -cCampo Descripción
calls El número de llamadas enviadas
badcalls El número de llamadas rechazadas por el RPC
retrans El número de retransmisiones
badxid El número de confirmaciones duplicadas recibidas
timeout El número de time-outs
wait El número de veces que el manejo de un cliente no disponible causó espera
newcred El número de autenticaciones refrescadas
timers El número de veces que el valor de time-out es alcanzado o excedido.
readlink El número de lecturas hechas a un link simbólico
12.1.15 Mpstat12.1.15 MpstatUno de los avances más significantes en el mundo
de los servidores Unix es el rápido desarrollo de servidores con multiprocesadores simétricos (SMP). Tener más CPU’s puede significar que se desee un cuadro discreto de qué está actualmente sucediendo sobre el sistema más que la vista que el sar provee.
Existen otras herramientas para examinar la utilización de múltiples procesadores. El comando mpstat reporta las estadísticas por cada procesador de la máquina. Cada fila del reporte muestra la actividad de un procesador:
12.1.15 Mpstat12.1.15 MpstatCampo Descripción
CPU Número identifícador del procesador de la CPUminf Faltas menoresmjf Faltas mayoresxcal Llamadas cruzadas entre procesadoresintr Interrupcionesithr Interrupciones e hilos (no contando interrupciones del reloj)csw Cambios de contextoicsw Cambios de contexto involuntariosmigr Migración de hilos (a otro procesador)smtx Spins o mutexes (bloqueo no adquirido en el primer intento)
srw
Spins o bloqueos de lectura/escritura (bloqueo no adquirido en el primer intento)
syscl Llamadas al sistemausr Porcentaje de tiempo de usuariosys Porcentaje de tiempo de sistemawt Porcentaje de tiempo de esperaidl Porcentaje de tiempo desocupado
12.1.16 Sar -v12.1.16 Sar -vLa opción -v habilita ver la tabla de procesos actual,
la tabla de inodos, la tabla de archivos abiertos y la tabla de registro de memoria compartida.
Campo Proceso
proc szEl número entradas en la tabla de procesos en uso/el número asignado
inod -szEl número de entradas en la tabla de inodos en uso/el número asignado
file -sz
El número de entradas en la tabla de archivos actualmente en uso/el número 0 designa que espacio está asignado dinámicamente para esta entrada
lock -szEl número de entradas de memoria compartida registradas en uso.
ov
El campo de desborde, muestra el número de veces que el campo a la izquierda inmediata ha sido desbordado.
12.1.17 El parámetro maxusers12.1.17 El parámetro maxusersMuchas de estas tablas son modificadas
dinámicamente en el ascenso o descenso de variables del sistema operativo basado en los valores asignados al parámetro maxusers, que es una aproximación del número de usuarios que el sistema tendrá que soportar. La forma más segura y rápida para modificar el tamaño de las tablas es a través del cambio de maxusers, y permitiendo al sistema desarrollar los ajustes a las tablas del sistema.
Un número de parámetros es ajustado en relación a maxusers. En la siguiente lista se observan algunos de ellos:
12.1.17 El parámetro maxusers12.1.17 El parámetro maxusersTabla Parámetro Ajuste
Process
max_nprocs
10 + 16 * maxusers (ajusta el tamaño de la tabla de procesos)
User process
maxuprc
Max_nprocs - 5 (ajusta el número de procesos de usuario)
Name cache
ncsize
Max nprocs + 16 + maxusers + 64 (ajusta el tamaño del directorio del cache de retorno)
Inode
ufs_ninode
Max_nprocs + 16 + maxusers + 64 (ajusta el tamaño de la tabla de inodos)
Quota table
ndquot
(maxusers * NTvlOUNT) / 4 + maxnprocs (ajusta el número de estructuras de cuota en disco)
12.2 Performance Monitor12.2 Performance MonitorEl Performance Monitor permite observar el
desempeño actual del sistema, mostrando la información a través de gráficos o reportes. Se puede crear gráficos y archivos de log y ajustar advertencias acerca de los niveles de actividad en el sistema. El Performance Monitor ofrece información del desempeño actual, pero no ofrece sugerencias para mejorar el mismo. Se pueden crear vistas simultáneas, y para cada una su reporte, gráfico, alerta y archivo log. Las vistas pueden ser personalizadas y pueden guardarse junto con sus parámetros para sesiones futuras. En forma posterior se pueden realizar estadísticas del desempeño con archivos históricos anteriores.
12.2 Performance Monitor12.2 Performance MonitorExisten cuatro vistas en el Performance Monitor:
1. Vista de Alerta. Entrega información acerca de eventos que exceden los límites definidos por el usuario. Se puede monitorear más de una condición al mismo tiempo, y cuando un evento ocurre se puede ejecutar un programa para tomar las acciones correctivas, preventivas o de alerta ante la presencia de la situación.
2. Vista de gráfico. Despliega información gráficamente, lo cual ayuda a definir los problemas del sistema en forma inmediata.
12.2 Performance Monitor12.2 Performance Monitor3. Vista de log. Envía información clave a un archivo
en el disco para análisis posterior.
4. Vista de reporte. Despliega un reporte simple de valores de eventos, seleccionados para desplegarse.
12.2.1 Objeto Sistema12.2.1 Objeto SistemaWindows NT y 2000 proveen un alto grado de
capacidad para monitorear la CPU incluyendo la medición total de utilización de la CPU, porcentaje de tiempo en modo privilegiado (sistema operativo), porcentaje de tiempo en modo usuario (aplicación), y la frecuencia con la que el sistema puede realizar el cambio de contexto entre tareas. Todos estos aspectos pueden ser extremadamente útiles y la mayoría puede ser monitoreado no solamente para el sistema completo, sino también sobre la base de un procesador en especial o máquinas con multiprocesadores simétricos (Symmetric Multi-Processor).
12.2.1 Objeto Sistema12.2.1 Objeto SistemaContador Descripción
% Total Privileged
Time
Este es el porcentaje del tiempo total del sistema (tiempo para todos los procesos del sistema) que está siendo usado en modo privilegiado (en el sistema operativo). Generalmente indica el tiempo que e! sistema está dedicado a desarrollar tareas como entrada/salida de disco, operaciones de despliegue de vídeo, etc.
% Total Processor Time
Indica el porcentaje de tiempo durante el cual el procesador está haciendo trabajo útil y es efectivamente el total del porcentaje de tiempo privilegiado y el porcentaje de tiempo de usuario. Cuando este porcentaje se aproxima al 100%, indica que el procesador puede ser un cuello de botella en el sistema. El sistema será forzado a suspender ciertas tareas para dar tiempo a otras para ejecutarse. Puede considerarse como alternativa: el incremento del número o capacidad de los procesadores.
12.2.1 Objeto Sistema12.2.1 Objeto SistemaContador Descripción
% Total User Time
Este es el porcentaje de tiempo de procesador gastado en la ejecución de código de aplicación al nivel de usuario. Si el sistema tiene un cuello de botella en la CPU y este contador indica un porcentaje alto, quizá sea posible mejorar el desempeño a través del cambio en el uso de las aplicaciones del sistema. Se puede considerar la recodificación de aplicaciones verticales en forma más eficiente.
% Context Switch/Sec
Esto indica cuan frecuente se está desarrollando un cambio de contexto entre una tarea y otra. Por defecto, Windows NT y 2000 cambiarán de contexto entre tareas varias veces por segundo para darle a cada una la oportunidad de ejecución en el sistema. Este contador debería ser alto, en el orden de 1000 cambios de contexto por segundo. Esto probablemente indica que el sistema está bloqueando uno o más recursos compartidos en el sistema.
12.2.1 Objeto Sistema12.2.1 Objeto SistemaContador Descripción
% Context Switch/Sec
Para diagnosticar esto, se deben observar los porcentajes de tiempo total en modo privilegiado y tiempo total en modo usuario. Si ambos son o están cerca al 50% y el tiempo total del procesador es o está cerca al 100%, lo que puede estar sucediendo es que múltiples hilos en el sistema están compitiendo por un solo recurso compartido y están haciéndolo con tal frecuencia que el recurso no puede ser obtenido. Esto puede suceder por ejemplo, si se realiza uso intensivo de una aplicación de vídeo y la tarjeta de vídeo no está disponible para trabajar con los otros recursos.
Processor QueueLength
Esto indica el número de hilos en cola para la ejecución sobre el procesador. Valores sustancialmente altos mayores que cero indican una condición de congestión bajo la cual, múltiples hilos están bloqueando un solo recurso compartido.
12.2.1 Objeto Sistema12.2.1 Objeto SistemaContador Descripción
System Call/Sec
Esto indica la frecuencia de llamadas a las rutinas de servicio del sistema - sin contar las rutinas gráficas - Si los valores precedentes son altos, incluyendo Processor Queue Length, % Total Privileged Time es o está cerca a 50%, % Total Processor Time es o está cerca a 100%, pero System Cails/Sec es bajo, es posible que exista un problema de vídeo, particularmente si se están ejecutando aplicaciones que usan gráficos.
Total Interrupts/Sec
Esto indica la razón a la cual las interrupciones están siendo generadas por el hardware en el sistema por todos los procesadores. Este indicador debería seguir la tendencia de System Calis/Seo Si no es así, quizá indica que algún dispositivo de hardware está generando un número excesivo de interrupciones y se debería investigar y determinar si el dispositivo en cuestión es la tarjeta de vídeo, la interfase de red, el manejador del disco duro u otro dispositivo como el ratón.
12.2.2 Objeto Memoria12.2.2 Objeto MemoriaContador Descripción
Pool Nonpaged Bytes
Este contador mide el número total de bytes en la piscina de memoria no paginadle. Cuando una aplicación es iniciada desde Windows NT y 2000, éste temporalmente requiere una cantidad sustancial de espacio para buffers y para la carga de subsistemas (tales como el sistema WOW de 16-bits para aplicaciones de 16 bits), etc. - en un estado instantáneo donde menos de 4 MB de piscina no paginable está disponible, el sistema empezará a intercambiar o realizar swapping, severamente, en un esfuerzo para liberar memoria suficiente para conseguir que una nueva aplicación inicie. En esta situación, lo más aconsejable es proveer al usuario con más memoria en el sistema. Además, se puede usar este valor en conjunto con los contadores: working set y working set peak del objeto Proceso para determinar la cantidad total de memoria solicitada por un usuario en particular.
12.2.2 Objeto Memoria12.2.2 Objeto MemoriaContador Descripción
Commit AvailableBytes, CommittedBytes and CommitLimit
Sirven como indicadores del estado de la administración del subsistema de memoria virtual. Commit Available Bytes es un indicador instantáneo de la memoria virtual disponible en el sistema. Este valor fluctúa con la memoria disponible. El valor de Committed Bytes, por otra parte, es un indicador instantáneo de la cantidad tota! de memoria virtual comprometida – espacio reservado de memoria para el cual debe haber tanto espacio de respaldo disponible en el archivo de paginación o debe tener espacio disponible en la memoria física. Commit Limit es la cantidad total de espacio que está disponible para comprometerlo y es generalmente igual o un poco menor al tamaño de la memoria tísica mas el tamaño del archivo de paginación (un poco menor debido a la memoria que el sistema reserva para sí mismo). Si el contador Committed Bytes se aproxima al valor de Commit Limit, el sistema está agotado de memoria virtual y llegará a ser necesario expandir el archivo de paginación. Se puede usar como un indicador para expandir el archivo de paginación manualmente evitando una expansión automática y el deterioro del desempeño del sistema asociado.
12.2.2 Objeto Memoria12.2.2 Objeto MemoriaContador Descripción
Pages Per Second
Este es un indicador del tráfico total de paginación en el sistema - la tasa a la cual las páginas de memoria están siendo intercambiadas entre el archivo de paginación y la memoria física. Los sistemas con grandes cantidades de memoria física generalmente tienden a mostrar un valor de cero para Pages/Sec. Los sistemas operativos con una cantidad mínima de memoria física mostrarán cero Pages/Sec en un estado de desocupación, pero mostrará mucha actividad de paginación (en el orden de 100 Pages/Sec o menos) según una aplicación sea abierta o cerrada en el sistema.
Page Reads / Sec
Mide cuan frecuentemente el sistema necesita leer páginas desde el disco debido a faltas de página, y por lo tanto cuandesfavorablemente las faltas de páginas afectan al desempeño. Este el contador más importante para monitorear si se está indagando el impacto de las faltas de páginas sobre el desempeño del sistema.
12.2.2 Objeto Memoria12.2.2 Objeto MemoriaContador Descripción
Page Faults / Sec
Una falta de página ocurre cuando un proceso intenta acceder a una página de memoria virtual que no está disponible en su working set en RAM. Existen dos tipos de faltas: hard page faults y soft page faults. Si este valor es alto (o está incrementándose), es un signo de que se necesita añadir memoria física RAM al servidor.
12.2.3 Objeto Disco Lógico12.2.3 Objeto Disco LógicoContador Descripción
% Free SpaceFree Megabytes
Estos contadores indican respectivamente el porcentaje deespacio en disco que no está lleno y el número de megabytes de espacio en disco que no están llenos. Si megabytes libres es un valor cercano o bajo el espacio necesitado para mantener el archivo de paginación en su tamaño máximo, entonces el sistema podría ser incapaz de hacer crecer el archivo de paginación y empezará a indicar su "falta de memoria virtual“. En general, es útil colocar alertas sobre el porcentaje de espacio libre menor al 5% en todos los manejadores. Estos contadores deben ser usados en conjunto con los contadores de la memoria para evitar problemas cuando un archivo de paginación expandido choca con la ausencia de espacio en disco para expandirse en otros discos que contienen estructuras de información de archivos de página.
% Disk Time
Indica la actividad del manejador de disco incluyendo lecturas y escrituras como un porcentaje del tiempo total transcurrido y es un buen indicador de la actividad excesiva del disco. Si este valor alcanza un nivel prolongado mayor que el 50% indica que el disco está aproximándose a condiciones críticas y alguna acción correctiva debe ser tomada.
12.2.4 Objeto NetBEUI12.2.4 Objeto NetBEUIContador Descripción
Bytes Total/SecPackets/Sec
Representan respectivamente la transferencia total de información para todos los paquetes y el número total de paquetes transmitidos. Se puede encontrar el tamaño del paquete, dividiendo el promedio de bytes total/sec para los packets/sec y si este número empieza a cambiar (particularmente si comienza a declinar), probablemente indica una condición de colisión donde se tiene un largo número de paquetes que no contienen información.
12.2.5 Objeto Servidor12.2.5 Objeto ServidorTodos los sistemas Windows NT y 2000 son
extensión de algún servidor, indistintamente si son servidores de archivos dedicados y si funcionan como estaciones de trabajo. Las operaciones en las cuales los servicios son provistos, los recursos son compartidos, etc., son manejados por el objeto servidor (Server Object), Este puede ser monitoreado desde el objeto servidor en e! Performance Monitor. Los contadores apropiados e indicadores de desempeño son ios siguientes:
12.2.5 Objeto Servidor12.2.5 Objeto ServidorContador Descripción
Bytes Total/Sec Este valor provee indicaciones generales de cuan ocupado está el servidor. Probablemente deba ser monitoreado en los servidores de archivos porque un incremento en el tiempo indica la necesidad de expandir la memoria del servidor (o quizás considerar una actualización del hardware del servidor)
Error Access PermissionsErrors Granted AccessErrors Logon
Indican problemas de seguridad. Intentos de ingreso al sistema. En particular un alto valor para Errors Logon puede indicar que alguien está tratando de ingresar al sistema usando un programa de passwords. Se debe examinar la seguridad del sistema y habilitar la auditoría.
Errors System
Indica el número de errores inesperados del sistema que el servidor está experimentando e indica que existe algúnproblema con el servidor. Se debe investigar si el servidor carece de memoria o existen errores de hardware.
12.2.5 Objeto Servidor12.2.5 Objeto ServidorContador Descripción
Pool Nonpaged BytesPool Nonpaged Failures
Estos contadores dan una indicación de ¡a situación de la memoria física con respecto al objeto servidor. Pool Nonpaged Bytes indica la cantidad de memoria física no paginable que el servidor está usando mientras las fallas de la piscina no paginable (Pool Nonpaged Faiiures) indican el número de veces que se intenta asignar memoria que no está disponible. Esto último se refiere a que la memoria física en el sistema es demasiado pequeña.
Pool Paged BytesPool Paged Failures
Estos parámetros dan una indicación similar para la memoria paginable usada por el servidor. En este caso, la solución al problema puede ser incrementar el tamaño del archivo de paginación en el sistema.
12.2.5 Objeto Servidor12.2.5 Objeto ServidorContador Descripción
Sessions Errored OutSessions Timed Out
Dan una indicación del número de veces que los errores de la red están causando que una sesión sea desconectada o alternativamente, el número de veces que un auto-ajuste administrativo desconecta a los usuarios con conexiones desocupadas.
Work Item Shortages
Indica que se necesita afinar los parámetros TnitWorkTtems o MaxWorkltems en el objeto LANmanServer del registro del sistema.
12.3 Monitor Netware de Novell12.3 Monitor Netware de NovellNetWare de Novel! ha sido largamente un elemento
importante para el manejo de servicios de archivos e impresión. Sin embargo, este nuevo producto intenta abordar la era Internet. NetWare 5.1 se proyecta al e-business y al comercio electrónico con un sólido servicio de directorios, NetWare Directory Services (NDS).
12.3 Monitor Netware de Novell12.3 Monitor Netware de NovellLa última versión de NetWare 5.1 posee soporte
para el protocolo de red nativo de Noveli IPX y para Internet el protocolo IP, así como también soporte para aplicaciones web. NetWare integra su propio servicio de directorios Noveli Directory Services (NDS) con el estándar de industria Domain Ñame System (DNS) y el protocolo DHCP. NetWare soporta aplicaciones Java y ios estándares COREA, ORB. Su kemel soporta multiprocesamiento. Adicionales características incluyendo lo que denomina sistema de archivos de próxima generación y servicios de impresión y seguridad avanzados (criptografía de clave pública y servicios de autenticación segura, SAS).
12.3 Monitor Netware de Novell12.3 Monitor Netware de NovellSe puede utilizar el módulo cargable NetWare
(Netware Loadable Module) Monitor para ver información sobre el servidor y la actividad en la red. Para cargar el módulo Monitor en la consola del servidor de archivos, o en una estación que está funcionando como consola remota, se debe introducir:
12.3 Monitor Netware de Novell12.3 Monitor Netware de NovellLOAD vía_acceso\MONITOR parámetros
Donde vía_acceso es la vía de acceso al archivo
MONITOR.NLM si se encuentra fuera del
directorio SYS: SYSTEM, y parámetros puede ser
uno o ambos:ns (sin protector) Desactiva la opción de protector
de pantallanh (sin ayuda) Ahorra memoria si no necesita las
funciones de ayuda
12.3.1 Pantalla principal12.3.1 Pantalla principalContador Descripción
Operating system version and date
Server name on the network tree-name
La versión y la fecha del release del sistema (esquina superior izquierda de la pantalla). El nombre del servidor y del árbol NDS.
Utilization Promedio de la capacidad total de procesamiento del servidor que fue usado durante el último segundo (intervalo por defecto) expresado como un porcentaje. El resto se utiliza en procesos iterativos ociosos. En un servidor uniprocesador, este valor refleja la utilización del procesador. En un servidor multiprocesador, este valor es el promedio de utilización de todos los procesadores activos. Este valor de utilización reflejará los cambios en la configuración del sistema según ellos ocurran, tales como un programa NLM siendo cargado o descargado, o un volumen siendo montado o desmontado.
12.3.1 Pantalla principal12.3.1 Pantalla principalContador Descripción
Server Up Time El tiempo estimado desde que el servidor fue iniciado. Este valor es desplegado en formato DD:HH:MM:SS (días, horas, minutos, segundos). Esta información se usa para detectar posibles fallas o determinar si un intruso bajó el sistema.
Online processors Original Cache
Buffers
El número de procesadores habilitados y activos.El tamaño original de cache buffer pool, es el número de buffers cache disponibles cuando el servidor es iniciado. Toda la memoria no usada para cargar NetWare (código más cargadores) es asignada a cache buffer pool. La memoria se presta desde esta piscina según se la necesite.
12.3.1 Pantalla principal12.3.1 Pantalla principalContador Descripción
Total cache buffers
El número de buffers cache actualmente disponibles para caching de archivos después de asignar memoria para NetWare. Este número decrece según los módulos son cargados a la memoria.Debido a que el caching de archivos tiene un impacto dramático en el desempeño del servidor, este número se lo desea tan alto como sea posible.
Dirty Cache Buffers
El número de buffers cache que contienen información que ha sido modificada pero no se ha escrito a disco todavía. El sistema operativo escribe información al disco tan pronto los cache buffer están llenos o cuando el Dirty Disk Cache Delay Time se cumple (por defecto 3.3 segundos). Se debe monitorear este número para observar si está incrementándose. Si esta situación se presenta, se puede tener un cuello de botella en el sistema de archivos. Si el número de dirty buffers está frecuentemente sobre el 50% de Total Cache Buffers y el desempeño del servidor es lento, se debe considerar la instalación de discos duros más rápidos. Un cuello de botella de entrada/salida en el disco puede ser detectado si el número de dirty buffers permanece constante y el número de Current Disk Requests permanece alto.
12.3.1 Pantalla principal12.3.1 Pantalla principalContador Descripción
Long Term Cache
Hits
Porcentaje acumulativo de solicitudes de bloques de disco que estuvieron ya en la cache (cuando las solicitudes de información están ya en memoria, las lecturas de disco no necesitan ser realizadas). Este valor sirve para estimar la utilización general del disk cache. Si este valor cae bajo 90%, el disco empieza a tener problemas y el desempeño del servidor se degrada. La solución es instalar más memoria RAM para cache. Otro campo para chequear la estimación de RAM es LRU Sitting Time Set.
Current Disk
Requests
El número de solicitudes de entrada/salida de disco pendientes que fueron colocadas en cola para servicio. Si este valor se incrementa, un disco duro lento puede ser el cuello de botella. Este valor sirve como una medida de la carga del sistema para el canal del disco. Si este número es permanentemente alto, el disco y el controlador pueden ser demasiado lentos. Si el número de Dirty Cache Buffers excede el 50% de Total Cache Buffers y el desempeño del sistema es lento, considerar la instalación de discos duros más rápidos.
12.3.1 Pantalla principal12.3.1 Pantalla principalContador Descripción
Packet Receive Buffers
Muestra cuánta memoria fue asignada para mantener las solicitudes mientras el servidor las procesa. Este es el número de buffers disponibles para recibir los paquetes enviados por las estaciones. El servidor asigna más packet receive buffers según necesita (entre un valor máximo y mínimo). El tamaño del buffer depende del adaptador de red.
Directory Cache Buffers
El número de buffers disponibles para el sistema de archivos para almacenar las solicitudes más frecuentes de entradas de directorio, caching de directorios. El servidor asigna más directory cache buffers según se necesiten entre un valor mínimo y máximo.
12.3.1 Pantalla principal12.3.1 Pantalla principalContador Descripción
Maximum Service
Processes
El número máximo de procesos (threads o manejadores de tareas) que el sistema asignará a solicitudes de servicio de cliente. El servidor crea más procesos de servicio según se necesitan, entre los parámetros máximo y mínimo. Una vez que la memoria es asignada para procesos de servicio, permanece de este modo inclusive cuando ya no se la requiere.
Current Service
Processes
El número de threads o manejadores de tareas que están actualmente asignados para servir solicitudes de clientes. A la vez que el número de solicitudes de clientes se incrementa, el servidor crea más procesos de servicio entre los parámetros máximo y mínimo. Si este valor se aproxima al número máximo el desempeño del servidor será afectado adversamente.
12.3.1 Pantalla principal12.3.1 Pantalla principalContador Descripción
Current Connection
s Open Files
El número de conexiones activas. Esto incluye tanto conexiones licenciadas y no licenciadas, autenticadas o Not-Logged-In. Número de archivos siendo actualmente accedidos por el servidor y por otros clientes. Ciertos archivos, tales como archivos escondidos que soportan NDS, están siempre abiertos.
12.4 Performance AS40012.4 Performance AS400Con todos los derechos, el sistema AS/400 debería
encontrarse al final de su ciclo de vida y sus usuarios deberían estar buscando un reemplazo. En el mundo de los sistemas abiertos, el AS/400 podría parecer un anacronismo. No posee portabilidad de código abierto (compatibilidad binaria); requiere hardware patentado por IBM; soporta únicamente su propia base de datos, DB2/400; y usa OS/400, un sistema operativo también patentado. No sorprende que AS/400 sea percibido por muchos como un sistema costoso con una arquitectura pasada y desarrollado por SBM cuando los sistemas patentados eran la norma.
12.4 Performance AS40012.4 Performance AS400Se podría pensar que muchos usuarios desearían
abandonar esta plataforma por otras alternativas. Sin embargo, la influencia de los sistemas abiertos ha permitido que ciertas características sean adoptadas por este sistema. AS/400 ha evolucionado desde un sistema operativo patentado hacia uno más abierto. Aunque tiene portabilidad limitada y no soporta a muchos vendedores de RDBMSs. AS/400 es ahora POSIX compatible, soporta TCP/IP y los estándares únicos de especificación de UNIX (Single Unix Specification).
12.4.1 Comandos CL12.4.1 Comandos CLEn la plataforma AS/400, antes de proceder a la
revisión del desempeño, se recomienda verificar el tamaño inicial de las piscinas (pools) y los niveles de actividad. Generalmente la definición correcta de las piscinas y los niveles de actividad depende del número de trabajos que un subsistema debe soportar al mismo tiempo y las características y uso de los programas que desarrollan funciones en esos trabajos.
Para revisar el desempeño del sistema AS/400, se pueden usar los siguientes comandos para cada área:
12.4.1 Comandos CL12.4.1 Comandos CLProcesador. Se pueden usar los siguientes
comandos para determinar si existen demasiados trabajos en el sistema o si algunos trabajos están usando un gran porcentaje de tiempo de procesador: trabajo con Active Jobs (WRKACTJOB), trabajo con System Activity (WRKSYSACT).
Almacenamiento principal. Se puede trabajar con el comando Work System Status (WRKSYSSTS) para revisar faltas y transiciones Wait-to-Ineligible (espera a no elegible).
12.4.1 Comandos CL12.4.1 Comandos CLDisco. Se puede usar el trabajo con el comando
Disk Status (WRKDSKSTS) para determinar si existen muy pocos brazos o los brazos son muy lentos.
Comunicaciones. Se pueden usar las siguientes herramientas de Performance Tools para identificar líneas lentas, errores en las líneas, o demasiados usuarios para la línea: Performance Tools/400 Advisor, Performance Tools/400 Componen! Repon, Communications Trace.
12.4.1 Comandos CL12.4.1 Comandos CLAplicaciones. Se puede usar las siguientes
herramientas de Performance Tools o el trabajo con el comando Object Locks (WRKOBJLCK) para investigar bloqueos y exclusiones mutuas (mutexes).
12.4.2 Comandos CL12.4.2 Comandos CLSystem Status (WRKSYSSTS)El despliegue de información de este comando
provee acceso en tiempo real a la información del estado actual del sistema. Se puede observar y cambiar la tasa de faltas de página y las tasas de transición de trabajos. Se debe poner especial atención a los siguientes indicadores (en orden de prioridad decreciente):
Non-database faul rates in the machine poolNon-database faul rates in all of the other poolsPage rates in all of the poolsTransition rates in all of the pools
12.4.2 Comandos CL12.4.2 Comandos CLActive Jobs (WRKACTJOB)
Muestra el desempeño del sistema a través de la
medición de aspectos tales como uso de CPU y
tiempo de respuesta. Este comando permite
determinar:¿Cuál es el porcentaje de utilización de la CPU?¿Cuánto usa la CPU cada trabajo?, en términos de
porcentaje y del tiempo total
Si el porcentaje de utilización interactivo de CPU es
siempre mayor al 85%, se debería tratar de realizar
un modelamiento para analizar si una CPU más
rápida será beneficiosa.
12.4.2 Comandos CL12.4.2 Comandos CLSystem Actívity (WRKSYSACT)Representa la actividad que ha ocurrido durante el
tiempo estimado desde una recopilación previa. Esto puede contrastar con otras funciones que generalmente proveen valores acumulativos hasta el reseteo del sistema. En la mayoría de los casos el intervalo de tiempo entre la recopilación de los datos varía entre un segundo y varios minutos. WRKSYSACT provee una lista de los trabajos activos que usaron la CPU en los últimos segundos. La lista está ordenada por la cantidad de segundos de CPU usados.
12.4.2 Comandos CL12.4.2 Comandos CLSystem Actívity (WRKSYSACT)Representa la actividad que ha ocurrido durante el
tiempo estimado desde una recopilación previa. Esto puede contrastar con otras funciones que generalmente proveen valores acumulativos hasta el reseteo del sistema. En la mayoría de los casos el intervalo de tiempo entre la recopilación de los datos varía entre un segundo y varios minutos. WRKSYSACT provee una lista de los trabajos activos que usaron la CPU en los últimos segundos. La lista está ordenada por la cantidad de segundos de CPU usados.
12.4.2 Comandos CL12.4.2 Comandos CLComando WRKDSKSTSDebe observarse el porcentaje de busy data. Cada
unidad (brazo) debería tener una ocupación menor al 50%. Si cada unidad está ocupada entre 50% y 70%, se puede experimentar tiempos de respuesta variables. Si cada unidad está ocupada más del 70%, no se tiene suficientes actuators (brazos) para entregar buen desempeño. Si se tiene un sistema bien afinado con actuators que exceden el 50% de ocupación, se debería incrementar el numero de actuators de disco.
12.4.2 Comandos CL12.4.2 Comandos CLDesempeño de la redEs importante observar el desempeño de la red. Si
se tiene todo el poder de CPU, pero un servicio de red malo, los usuarios sufrirán desde tiempo de respuesta pobre hasta transacciones de procesamiento de información bajas.
Comando pingEnvía un echo a un host IP para determinar si el
host es accesible. El tiempo de respuesta muestra cuan largo es el viaje del mensaje de retomo, es decir cuánto tiempo le toma retomar la respuesta a un host solicitante. Esta es la primera herramienta para identificar problemas de conectividad.
12.4.2 Comandos CL12.4.2 Comandos CLDesempeño de la redEs importante observar el desempeño de la red. Si
se tiene todo el poder de CPU, pero un servicio de red malo, los usuarios sufrirán desde tiempo de respuesta pobre hasta transacciones de procesamiento de información bajas.
Comando pingEnvía un echo a un host IP para determinar si el
host es accesible. El tiempo de respuesta muestra cuan largo es el viaje del mensaje de retomo, es decir cuánto tiempo le toma retomar la respuesta a un host solicitante. Esta es la primera herramienta para identificar problemas de conectividad.
12.4.2 Comandos CL12.4.2 Comandos CLComando NPING. Es una herramienta GUI para verificar varias
conexiones de puerto TCP/TP hacia un servidor en particular.
Comando Trace Route. (TRACERT)Este comando es similar a PING, excepto que este
reporta el tiempo del viaje de retomo a través de host intermedios. Provee información acerca del desempeño de cada conexión entre el sistema fuente y el sistema objetivo.
12.4.2 Comandos CL12.4.2 Comandos CLComando TCP/TP Network Status. (NETSTAT)El trabajo con el comando TCP/IP Network Status
(WRKTCPSTS), también conocido como Network Status (NTTSTAT) permite obtener información sobre el estado de las rutas TCP/TP, interfases, conexiones TCP, y puertos UDP en el sistema local. Se puede usar NETSTAT para terminar conexiones TCP/EP e iniciar interfases TCP/TP. Si el protocolo Internet (IP) sobre SNA (IPS) está habilitado, NETSTAT despliega información acerca de IP sobre las interfases SNA, rutas, conexiones. Se puede usar también NETSTAT sobre IP para terminar conexiones IP sobre SNA e iniciar o terminar interfases EP sobre SNA.