Gestión del rendimiento, los procesos y la información del sistema en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Septiembre de 2014
 
 

Supervisión de actividades del sistema (sar)

    Utilice el comando sar para realizar las siguientes tareas:

  • Organizar y ver datos sobre la actividad del sistema.

  • Acceder a los datos de actividad del sistema con una solicitud especial.

  • Genere informes automáticos para medir y supervisar el rendimiento del sistema, e informes de solicitud especial para identificar problemas específicos de rendimiento. Para obtener información sobre la configuración del comando sar para que se ejecute en el sistema y una descripción de estas herramientas, consulte Recopilación automática de datos de la actividad del sistema (sar).

Para obtener una descripción detallada de este comando, consulte la página del comando man sar(1).

Comprobación de acceso a archivos (sar –a)

Visualice las estadísticas de operación de acceso a archivos con el comando sar -a.

$ sar -a

SunOS t2k-brm-24 5.10 Generic_144500-10 sun4v    ...

00:00:00  iget/s namei/s dirbk/s
01:00:00       0       3       0
02:00:00       0       3       0
03:00:00       0       3       0
04:00:00       0       3       0
05:00:00       0       3       0
06:00:00       0       3       0
07:00:00       0       3       0
08:00:00       0       3       0
08:20:01       0       3       0
08:40:00       0       3       0
09:00:00       0       3       0
09:20:01       0      10       0
09:40:01       0       1       0
10:00:02       0       5       0

Average        0       4       0

Las rutinas de sistema operativo informadas por el comando sar -a son las siguientes:

iget/s

El número de solicitudes de inodes que no se encontraban en la memoria caché de consulta de nombre de directorio (DNLC).

namei/s

El número de búsquedas de la ruta del sistema de archivos por segundo. Si namei no encuentra un nombre de directorio en la DNLC, llama a iget para obtener el inode para un archivo o un directorio. Por lo tanto, la mayoría de igets son el resultado de errores de DNLC.

dirbk/s

El número de lecturas de bloque de directorio emitidas por segundo.

Cuanto más grandes sean los valores informados para estas rutinas del sistema operativo, más tiempo tarda el núcleo en acceder a los archivos del usuario. La cantidad de tiempo refleja la intensidad del uso de sistemas de archivos por parte de programas y aplicaciones. La opción –a es útil para ver en qué medida la aplicación depende del disco.

Comprobación de actividad de memoria intermedia (sar –b)

Visualice las estadísticas de actividad de memoria intermedia con el comando sar -b.

La memoria intermedia se utiliza para almacenar los metadatos en la memoria caché. Los metadatos incluyen inodes, bloques de grupo de cilindros y bloques indirectos.

$ sar -b
00:00:00 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s
01:00:00       0       0     100       0       0      55       0       0

La siguiente tabla describe las actividades de memoria intermedia que muestra la opción –b.

Nombre del campo
Descripción
bread/s
Número medio de lecturas por segundo que se envían a la memoria caché intermedia desde el disco
lread/s
Número medio de lecturas lógicas por segundo de la memoria caché intermedia
%rcache
Fracción de lecturas lógicas que se encuentran en la memoria caché intermedia (100% menos la razón entre bread/s y lread/s)
bwrit/s
Número medio de bloques físicos (512 bytes) que se escriben de la caché del búfer en el disco, por segundo
lwrit/s
Número medio de escrituras lógicas en la caché del búfer, por segundo
%wcache
Fracción de escrituras lógicas que se encuentran en la memoria caché intermedia (100% menos la razón entre bwrit/s y lwrit/s)
pread/s
Número medio de lecturas físicas que utilizan interfaces de dispositivo de caracteres, por segundo
pwrit/s
Número medio de solicitudes de escritura física que utilizan interfaces de dispositivo de caracteres, por segundo

Las entradas más importantes son las frecuencias de aciertos de la caché %rcache y %wcache. Estas entradas miden la efectividad de la memoria intermedia del sistema. Si %rcache cae por debajo del 90%, o si %wcache cae por debajo del 65%, es posible mejorar el rendimiento mediante el aumento del espacio del búfer.

Ejemplo 3-3  Comprobación de actividad de memoria intermedia (sar –b)

El siguiente ejemplo de salida del comando sar -b muestra que los búfers %rcache y %wcache no están generando una disminución de la velocidad. Todos los datos se encuentran dentro de los límites aceptables.

$ sar -b

SunOS t2k-brm-24 5.10 Generic_144500-10 sun4v    ...

00:00:04 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s
01:00:00       0       0     100       0       0      94       0       0
02:00:01       0       0     100       0       0      94       0       0
03:00:00       0       0     100       0       0      92       0       0
04:00:00       0       1     100       0       1      94       0       0
05:00:00       0       0     100       0       0      93       0       0
06:00:00       0       0     100       0       0      93       0       0
07:00:00       0       0     100       0       0      93       0       0
08:00:00       0       0     100       0       0      93       0       0
08:20:00       0       1     100       0       1      94       0       0
08:40:01       0       1     100       0       1      93       0       0
09:00:00       0       1     100       0       1      93       0       0
09:20:00       0       1     100       0       1      93       0       0
09:40:00       0       2     100       0       1      89       0       0
10:00:00       0       9     100       0       5      92       0       0
10:20:00       0       0     100       0       0      68       0       0
10:40:00       0       1      98       0       1      70       0       0
11:00:00       0       1     100       0       1      75       0       0

Average        0       1     100       0       1      91       0       0

Comprobación de estadísticas de llamadas del sistema (sar –c)

Visualice las estadísticas de llamadas del sistema mediante el comando sar -c.

$ sar -c
00:00:00 scall/s sread/s swrit/s  fork/s  exec/s rchar/s wchar/s
01:00:00      38       2       2    0.00    0.00     149     120

En la lista siguiente, se describen las categorías de llamadas del sistema informadas por la opción –c. En general, lee y escribe cuentas para, aproximadamente, la mitad del total de llamadas del sistema. Sin embargo, el porcentaje varía en gran medida con las actividades que realiza el sistema.

scall/s

El número de todos los tipos de llamadas del sistema por segundo, que, en general, es de 30 por segundo, aproximadamente, en un sistema con cuatro a seis usuarios.

sread/s

El número de llamadas del sistema read por segundo.

swrit/s

El número de llamadas del sistema write por segundo.

fork/s

El número de llamadas del sistema fork por segundo, que es, aproximadamente, 0,5 por segundo en un sistema con cuatro a seis usuarios. Este número aumenta si se están ejecutando las secuencias de comandos de shell.

exec/s

El número de llamadas del sistema exec por segundo. Si exec/s dividido por fork/s da como resultado un valor superior a 3, busque las variables PATH ineficaces.

rchar/s

El número de caracteres (en bytes) transferidos por llamadas del sistema read por segundo.

wchar/s

El número de caracteres (en bytes) transferidos por llamadas del sistema write por segundo.

Ejemplo 3-4  Comprobación de estadísticas de llamadas del sistema (sar –c)

El siguiente ejemplo muestra el resultado del comando sar -c.

$ sar -c

SunOS balmy 5.10 Generic_144500-10 sun4v ...
00:00:04 scall/s sread/s swrit/s  fork/s  exec/s rchar/s wchar/s
01:00:00      89      14       9    0.01    0.00    2906    2394
02:00:01      89      14       9    0.01    0.00    2905    2393
03:00:00      89      14       9    0.01    0.00    2908    2393
04:00:00      90      14       9    0.01    0.00    2912    2393
05:00:00      89      14       9    0.01    0.00    2905    2393
06:00:00      89      14       9    0.01    0.00    2905    2393
07:00:00      89      14       9    0.01    0.00    2905    2393
08:00:00      89      14       9    0.01    0.00    2906    2393
08:20:00      90      14       9    0.01    0.01    2914    2395
08:40:01      90      14       9    0.01    0.00    2914    2396
09:00:00      90      14       9    0.01    0.01    2915    2396
09:20:00      90      14       9    0.01    0.01    2915    2396
09:40:00     880     207     156    0.08    0.08   26671    9290
10:00:00    2020     530     322    0.14    0.13   57675   36393
10:20:00     853     129      75    0.02    0.01   10500    8594
10:40:00    2061     524     450    0.08    0.08  579217  567072
11:00:00    1658     404     350    0.07    0.06 1152916 1144203

Average      302      66      49    0.02    0.01   57842   55544

Comprobación de actividad del disco (sar –d)

Visualice las estadísticas de actividad de disco con el comando sar -d.

$ sar -d

00:00:00   device        %busy   avque   r+w/s  blks/s  avwait  avserv

En la siguiente lista, se describen las actividades del dispositivo de disco que informa la opción –d.

device

Nombre del dispositivo de disco que se está supervisando.

%busy

Parte del tiempo que el dispositivo estuvo ocupado atendiendo una solicitud de transferencia.

avque

Número medio de solicitudes durante el tiempo que el dispositivo estuvo ocupado atendiendo una solicitud de transferencia.

r+w/s

El número de transferencias de lectura y escritura al dispositivo por segundo.

blks/s

Número de bloques de 512 bytes que se transfieren al dispositivo por segundo.

avwait

Tiempo medio, en milisegundos, que las solicitudes de transferencia esperan en la cola. Este tiempo se mide únicamente cuando la cola está ocupada.

avserv

Tiempo medio, en milisegundos, para una solicitud de transferencia que debe completar el dispositivo. Para los discos, este valor incluye tiempos de búsqueda, de latencia de rotación y de transferencia de datos.

Ejemplo 3-5  Comprobación de actividad del disco

Este ejemplo abreviado ilustra el resultado del comando sar -d.

$ sar -d

SunOS balmy 5.10 Generic_144500-10 sun4v    ...

12:36:32   device        %busy   avque   r+w/s  blks/s  avwait  avserv

12:40:01   dad1             15     0.7      26     399    18.1    10.0
           dad1,a           15     0.7      26     398    18.1    10.0
           dad1,b            0     0.0       0       1     1.0     3.0
           dad1,c            0     0.0       0       0     0.0     0.0
           dad1,h            0     0.0       0       0     0.0     6.0
           fd0               0     0.0       0       0     0.0     0.0
           nfs1              0     0.0       0       0     0.0     0.0
           nfs2              1     0.0       1      12     0.0    13.2
           nfs3              0     0.0       0       2     0.0     1.9
           nfs4              0     0.0       0       0     0.0     7.0
           nfs5              0     0.0       0       0     0.0    57.1
           nfs6              1     0.0       6     125     4.3     3.2
           nfs7              0     0.0       0       0     0.0     6.0
           sd1               0     0.0       0       0     0.0     5.4
           ohci0,bu          0     0.0       0       0     0.0     0.0
           ohci0,ct          0     0.0       0       0     0.0     0.0
           ohci0,in          0     0.0       7       0     0.0     0.0
           ohci0,is          0     0.0       0       0     0.0     0.0
           ohci0,to          0     0.0       7       0     0.0     0.0

Tenga en cuenta que las longitudes de cola y los tiempos de espera se miden cuando algún elemento se encuentra en la cola. Si %busy es pequeño, colas grandes y tiempos de servicio extensos probablemente representan los esfuerzos periódicos realizados por el sistema para garantizar que los bloques modificados se escribirán en el disco de manera inmediata.

Comprobación de memoria y de extracción de páginas de la memoria (sar –g)

Utilice el comando sar -g para mostrar las actividades de liberación de memoria y de extracción de páginas de la memoria en promedios.

$ sar -g
00:00:00  pgout/s ppgout/s pgfree/s pgscan/s %ufs_ipf
01:00:00     0.00     0.00     0.00     0.00     0.00

El resultado mostrado por el comando sar -g es un indicador útil de la necesidad de agregar más memoria. Utilice el comando ps -elf para mostrar el número de ciclos que utiliza el daemon page. Un número elevado de ciclos, combinado con valores altos para los campos pgfree/s y pgscan/s, indica una falta de memoria.

El comando sar -g también indica si los inodes se están reciclando demasiado rápido y están causando una pérdida de páginas reutilizables.

En la siguiente lista, se describe la salida de la opción –g.

pgout/s

El número de solicitudes de extracción de páginas de la memoria por segundo.

ppgout/s

El número real de páginas extraídas de la memoria por segundo. Una sola solicitud de extracción de página de la memoria puede implicar la extracción de varias páginas de la memoria.

pgfree/s

El número de páginas que se colocan en la lista libre por segundo.

pgscan/s

El número de páginas escaneadas por el daemon page por segundo. Si este valor es alto, el daemon page está perdiendo demasiado tiempo en comprobar la memoria libre. Esta situación implica que, posiblemente, se necesite más memoria.

%ufs_ipf

El porcentaje de inodes ufs quitados de la lista libre por iget que tenían páginas reutilizables asociadas a ellos. Estas páginas se vacían y no pueden ser reclamadas por los procesos. Por lo tanto, este campo representa el porcentaje de igets con vaciados de página. Un valor alto indica que la lista libre de inodes está vinculada a la página y que es posible que el número de inodes ufs se deba aumentar.

Ejemplo 3-6  Comprobación de memoria y de extracción de páginas de la memoria (sar -g)

El siguiente ejemplo muestra el resultado del comando sar -g.

$ sar -g

SunOS balmy 5.10 Generic_144500-10 sun4v    ...

00:00:00  pgout/s ppgout/s pgfree/s pgscan/s %ufs_ipf
01:00:00     0.00     0.00     0.00     0.00     0.00
02:00:00     0.01     0.01     0.01     0.00     0.00
03:00:00     0.00     0.00     0.00     0.00     0.00
04:00:00     0.00     0.00     0.00     0.00     0.00
05:00:00     0.00     0.00     0.00     0.00     0.00
06:00:00     0.00     0.00     0.00     0.00     0.00
07:00:00     0.00     0.00     0.00     0.00     0.00
08:00:00     0.00     0.00     0.00     0.00     0.00
08:20:01     0.00     0.00     0.00     0.00     0.00
08:40:00     0.00     0.00     0.00     0.00     0.00
09:00:00     0.00     0.00     0.00     0.00     0.00
09:20:01     0.05     0.52     1.62    10.16     0.00
09:40:01     0.03     0.44     1.47     4.77     0.00
10:00:02     0.13     2.00     4.38    12.28     0.00
10:20:03     0.37     4.68    12.26    33.80     0.00

Average      0.02     0.25     0.64     1.97     0.00

Comprobación de asignación de memoria de núcleo

La asignación de memoria de núcleo (KMA) permite a un subsistema de núcleo asignar y liberar memoria, según sea necesario.

    En lugar de asignar de manera estática la cantidad máxima de memoria que puede ser necesaria en una carga máxima, la KMA divide las solicitudes de memoria en tres categorías:

  • Memoria pequeña (inferior a 256 bytes)

  • Memoria grande (512 bytes a 4 Kbytes)

  • Memoria muy grande (superior a 4 Kbytes)

La KMA mantiene dos agrupaciones de memoria para cumplir las solicitudes de memoria pequeña y grande. Las solicitudes de memoria muy grande se cumplen mediante la asignación de memoria desde el asignador de página del sistema.

El comando sar -k resulta útil si está comprobando un sistema que se utiliza para escribir controladores o STREAMS que utilizan recursos de KMA. Cualquier controlador o módulo que utiliza recursos de KMA, pero no devuelve específicamente los recursos antes de cerrarse, puede crear una pérdida de memoria. Una pérdida de memoria hace que la cantidad de memoria asignada por la KMA aumente a lo largo del tiempo. Por lo tanto, si los campos alloc del comando sar -k aumentan continuamente a lo largo del tiempo, puede haber una pérdida de memoria. Otro indicio de una pérdida de memoria son las solicitudes fallidas. Si ocurre este problema, es posible que una pérdida de memoria haya provocado que KMA no pueda reservar ni asignar memoria.

Si parece que se ha producido una pérdida de memoria, debe comprobar los controladores o STREAMS que pudieron haber solicitado memoria de KMA y no la devolvieron.

Comprobación de asignación de memoria de núcleo (sar –k)

Utilice el comando sar -k para informar sobre las actividades del asignador de memoria de núcleo (KMA).

$ sar -k
00:00:00 sml_mem   alloc  fail  lg_mem   alloc   fail  ovsz_alloc  fail
01:00:00 2523136 1866512     0 18939904 14762364    0      360448     0
02:00:02 2523136 1861724     0 18939904 14778748    0      360448     0

En la siguiente lista, se describe la salida de la opción –k.

sml_mem

La cantidad de memoria, en bytes, que la KMA tiene disponible en la agrupación de solicitudes de memoria pequeña. En esta agrupación, una solicitud de memoria pequeña es inferior a 256 bytes.

alloc

La cantidad de memoria, en bytes, que la KMA ha asignado a solicitudes de memoria pequeña de su agrupación de solicitudes de memoria pequeña.

fail

El número de solicitudes de pequeñas cantidades de memoria que han fallado.

lg_mem

La cantidad de memoria, en bytes, que la KMA tiene disponible en la agrupación de solicitudes de memoria grande. En esta agrupación, una solicitud de memoria grande es de 512 bytes a 4 Kbytes.

alloc

La cantidad de memoria, en bytes, que la KMA ha asignado a solicitudes de memoria grande de su agrupación de solicitudes de memoria grande.

fail

El número de solicitudes fallidas de cantidades grandes de memoria.

ovsz_alloc

La cantidad de memoria asignada para solicitudes de memoria grande, que son solicitudes superiores 4 Kbytes. Estas solicitudes son cumplidas por el asignador de página. Por lo tanto, no hay ninguna agrupación.

fail

El número de solicitudes fallidas de cantidades muy grandes de memoria.

Ejemplo 3-7  Comprobación de asignación de memoria de núcleo (sar –k)

A continuación, se muestra un ejemplo abreviado de la salida del comando sar -k.

$ sar -k

SunOS balmy 5.10 Generic_144500-10 sun4v    ...
00:00:04 sml_mem   alloc  fail  lg_mem   alloc  fail  ovsz_alloc  fail
01:00:00 6119744 4852865     0 60243968 54334808   156     9666560     0
02:00:01 6119744 4853057     0 60243968 54336088   156     9666560     0
03:00:00 6119744 4853297     0 60243968 54335760   156     9666560     0
04:00:00 6119744 4857673     0 60252160 54375280   156     9666560     0
05:00:00 6119744 4858097     0 60252160 54376240   156     9666560     0
06:00:00 6119744 4858289     0 60252160 54375608   156     9666560     0
07:00:00 6119744 4858793     0 60252160 54442424   156     9666560     0
08:00:00 6119744 4858985     0 60252160 54474552   156     9666560     0
08:20:00 6119744 4858169     0 60252160 54377400   156     9666560     0
08:40:01 6119744 4857345     0 60252160 54376880   156     9666560     0
09:00:00 6119744 4859433     0 60252160 54539752   156     9666560     0
09:20:00 6119744 4858633     0 60252160 54410920   156     9666560     0
09:40:00 6127936 5262064     0 60530688 55619816   156     9666560     0
10:00:00 6545728 5823137     0 62996480 58391136   156     9666560     0
10:20:00 6545728 5758997     0 62996480 57907400   156     9666560     0
10:40:00 6734144 6035759     0 64389120 59743064   156    10493952     0
11:00:00 6996288 6394872     0 65437696 60935936   156    10493952     0

Average  6258044 5150556     0 61138340 55609004   156     9763900     0

Comprobación de comunicación entre procesos (sar –m)

Utilice el comando sar -m para informar actividades de comunicación entre procesos.

$ sar -m
00:00:00   msg/s  sema/s
01:00:00    0.00    0.00

En general, estas cifras son cero (0,00), a menos que ejecute aplicaciones que utilizan mensajes o semáforos.

La salida de la opción –m es la siguiente:

msg/s

El número de operaciones de mensajes (envío y recepción) por segundo

sema/s

El número de operaciones de semáforo por segundo

El siguiente ejemplo abreviado muestra el resultado del comando sar -m.

$ sar -m

SunOS balmy 5.10 Generic_144500-10 sun4v    ...

00:00:00   msg/s  sema/s
01:00:00    0.00    0.00
02:00:02    0.00    0.00
03:00:00    0.00    0.00
04:00:00    0.00    0.00
05:00:01    0.00    0.00
06:00:00    0.00    0.00

Average     0.00    0.00

Comprobación de actividad de carga de páginas en la memoria (sar –p)

Utilice el comando sar -ppara informar actividades de carga de páginas en la memoria, que incluye errores de protección y traducción.

$ sar -p
00:00:00  atch/s  pgin/s ppgin/s  pflt/s  vflt/s slock/s
01:00:00    0.07    0.00    0.00    0.21    0.39    0.00

En la siguiente lista, se describen las estadísticas informadas de la opción –p.

atch/s

El número de errores de página, por segundo, que se alcanzan mediante la reclamación de una página que actualmente se encuentra en la memoria (anexos por segundo). Las instancias incluyen reclamar una página no válida de la lista libre y compartir una página de texto que está siendo utilizada actualmente por otro proceso. Por ejemplo, dos o más procesos que están accediendo al mismo texto del programa.

pgin/s

El número de veces que los sistemas de archivos reciben solicitudes de carga de páginas en la memoria por segundo.

ppgin/s

El número de páginas cargadas en la memoria por segundo. Una sola solicitud de carga de página en la memoria, como una solicitud de bloqueo dinámico (consulte slock/s) o un tamaño de bloque grande, puede implicar la carga de varias páginas en la memoria.

pflt/s

El número de errores de página de errores de protección. Las instancias de errores de protección indican el acceso ilegal a una página y a una copia sobre escrituras. Por lo general, este número está compuesto principalmente por una copia sobre escrituras.

vflt/s

El número de errores de página de traducción de direcciones por segundo. Estos errores se denominan errores de validez y se producen cuando una entrada de tabla de proceso válido no existe para una dirección virtual determinada.

slock/s

El número de errores, por segundo, provocados por solicitudes de bloqueo de software que requieren una E/S física. Un ejemplo de la incidencia de una solicitud de bloqueo dinámico es la transferencia de datos de un disco a la memoria. El sistema bloquea la página que va a recibir los datos para que la página no pueda ser reclamada ni utilizada por otro proceso.

Ejemplo 3-8  Comprobación de actividad de carga de páginas en la memoria (sar –p)

En el siguiente ejemplo se muestra el resultado del comando sar –p.

$ sar -p

SunOS balmy 5.10 Generic_144500-10 sun4v    ...

00:00:04  atch/s  pgin/s ppgin/s  pflt/s  vflt/s slock/s
01:00:00    0.09    0.00    0.00    0.78    2.02    0.00
02:00:01    0.08    0.00    0.00    0.78    2.02    0.00
03:00:00    0.09    0.00    0.00    0.81    2.07    0.00
04:00:00    0.11    0.01    0.01    0.86    2.18    0.00
05:00:00    0.08    0.00    0.00    0.78    2.02    0.00
06:00:00    0.09    0.00    0.00    0.78    2.02    0.00
07:00:00    0.08    0.00    0.00    0.78    2.02    0.00
08:00:00    0.09    0.00    0.00    0.78    2.02    0.00
08:20:00    0.11    0.00    0.00    0.87    2.24    0.00
08:40:01    0.13    0.00    0.00    0.90    2.29    0.00
09:00:00    0.11    0.00    0.00    0.88    2.24    0.00
09:20:00    0.10    0.00    0.00    0.88    2.24    0.00
09:40:00    2.91    1.80    2.38    4.61   17.62    0.00
10:00:00    2.74    2.03    3.08    8.17   21.76    0.00
10:20:00    0.16    0.04    0.04    1.92    2.96    0.00
10:40:00    2.10    2.50    3.42    6.62   16.51    0.00
11:00:00    3.36    0.87    1.35    3.92   15.12    0.00

Average     0.42    0.22    0.31    1.45    4.00    0.00

Comprobación de actividad de cola (sar –q)

Utilice el comando sar –q para proporcionar la siguiente información:

  • La longitud de cola media mientras la cola está ocupada.

  • El porcentaje de tiempo durante el cual la cola está ocupada.

$ sar -q
00:00:00 runq-sz %runocc swpq-sz %swpocc

La salida de la opción –q es la siguiente:

runq-sz

El número de subprocesos del núcleo en la memoria en espera de que se ejecute una CPU. En general, este valor debe ser menor que 2. La presencia de valores más altos de manera uniforme significa que el sistema podría estar vinculado a la CPU.

%runocc

El porcentaje de tiempo durante el cual las colas de distribución están ocupadas.

swpq-sz

El número medio de procesos que se extraen de la memoria swap.

%swpocc

El porcentaje de tiempo durante el que los procesos se extraen de la memoria swap.

Ejemplo 3-9  Comprobación de actividad de cola

El siguiente ejemplo muestra la salida del comando sar -q. Si el valor %runocc es alto (superior a 90%) y el valor runq-sz es superior a 2, la CPU está muy cargada y la capacidad de respuesta ha disminuido. En este caso, es posible que sea necesario agregar capacidad a la CPU para obtener respuestas del sistema aceptables.

# sar -q
SunOS balmy 5.10 Generic_144500-10 sun4v    ...

00:00:00 runq-sz %runocc swpq-sz %swpocc
01:00:00     1.0       7     0.0       0
02:00:00     1.0       7     0.0       0
03:00:00     1.0       7     0.0       0
04:00:00     1.0       7     0.0       0
05:00:00     1.0       6     0.0       0
06:00:00     1.0       7     0.0       0

Average      1.0       7     0.0       0

Comprobación de memoria no utilizada (sar –r)

Utilice el comando sar -r para informar el número de páginas de memoria y bloques de disco de intercambio de archivos que no se utilizan actualmente.

$ sar -r
00:00:00 freemem freeswap
01:00:00    2135   401922

La salida de la opción –r es la siguiente:

freemem

El número medio de páginas de memoria que están disponibles para procesos de usuario durante los intervalos ejemplificados por el comando. El tamaño de la página depende de la máquina.

freeswap

El número de bloques de disco de 512 bytes que están disponibles para el intercambio de páginas.

Ejemplo 3-10  Comprobación de memoria no utilizada (sar –r)

El siguiente ejemplo muestra el resultado del comando sar -r.

$ sar -r

SunOS balmy 5.10 Generic_144500-10 sun4v    ...

00:00:04 freemem freeswap
01:00:00   44717  1715062
02:00:01   44733  1715496
03:00:00   44715  1714746
04:00:00   44751  1715403
05:00:00   44784  1714743
06:00:00   44794  1715186
07:00:00   44793  1715159
08:00:00   44786  1714914
08:20:00   44805  1715576
08:40:01   44797  1715347
09:00:00   44761  1713948
09:20:00   44802  1715478
09:40:00   41770  1682239
10:00:00   35401  1610833
10:20:00   34295  1599141
10:40:00   33943  1598425
11:00:00   30500  1561959

Average    43312  1699242

Comprobación de uso de la CPU (sar –u)

Utilice el comando sar -u para mostrar las estadísticas de uso de la CPU.

$ sar -u
00:00:00    %usr    %sys    %wio   %idle
01:00:00       0       0       0     100

El comando sar sin opciones es equivalente al comando sar -u. En algún momento, el procesador estará ocupado o inactivo. Cuando el procesador está ocupado, se encuentra en modo de usuario o en modo de sistema. Cuando el procesador está inactivo, está esperando la finalización de E/S o no tiene trabajo que hacer.

La salida de la opción –u es la siguiente:

%usr

El porcentaje de tiempo durante el cual el procesador está en modo de usuario.

%sys

El porcentaje de tiempo durante el cual el procesador está en modo de sistema.

%wio

El porcentaje de tiempo durante el cual el procesador está inactivo y en espera de la finalización de E/S.

%idle

El porcentaje de tiempo durante el cual el procesador está inactivo y no en espera de la finalización de E/S.

En general, un valor %wio alto significa que ha disminuido la velocidad del disco.

Ejemplo 3-11  Comprobación de uso de la CPU (sar -u)

El siguiente ejemplo muestra el resultado del comando sar -u.

$ sar -u

00:00:04    %usr    %sys    %wio   %idle
01:00:00       0       0       0     100
02:00:01       0       0       0     100
03:00:00       0       0       0     100
04:00:00       0       0       0     100
05:00:00       0       0       0     100
06:00:00       0       0       0     100
07:00:00       0       0       0     100
08:00:00       0       0       0     100
08:20:00       0       0       0      99
08:40:01       0       0       0      99
09:00:00       0       0       0      99
09:20:00       0       0       0      99
09:40:00       4       1       0      95
10:00:00       4       2       0      94
10:20:00       1       1       0      98
10:40:00      18       3       0      79
11:00:00      25       3       0      72

Average        2       0       0      98

Comprobación del estado de la tabla del sistema (sar –v)

Utilice el comando sar -v para informar del estado de la tabla de procesos, la tabla de inodes, la tabla de archivos y la tabla de registro de memoria compartida.

$ sar -v
00:00:00  proc-sz    ov  inod-sz    ov  file-sz    ov   lock-sz
01:00:00   43/922     0 2984/4236    0  322/322     0    0/0   

La salida de la opción –v se describe en la siguiente tabla.

proc-sz

El número de entradas del proceso (estructuras proc) que, actualmente, se utilizan o se asignan en el núcleo.

inod-sz

El número total de inodes en la memoria en comparación con el número máximo de inodes que se asignan en el núcleo. Este número no es una marca de agua estrictamente alta. El número puede desbordar.

file-sz

El tamaño de la tabla de archivos del sistema abierto. sz se otorga como 0, ya que el espacio se asigna de forma dinámica para la tabla de archivos.

ov

Los desbordamientos que se producen entre puntos de muestreo para cada tabla.

lock-sz

El número de entradas de tabla de registro de memoria compartida que actualmente se utilizan o se asignan en el núcleo. sz se otorga como 0, ya que el espacio se asigna de forma dinámica para la tabla de registro de memoria compartida.

Ejemplo 3-12  Comprobación del estado de la tabla del sistema (sar –v)

El siguiente ejemplo abreviado muestra el resultado del comando sar -v. En este ejemplo se muestra que todas las tablas son lo suficientemente grandes para no tener desbordamientos. Estas tablas se asignan de forma dinámica en función de la cantidad de memoria física.

$ sar -v

00:00:04  proc-sz    ov  inod-sz    ov  file-sz    ov   lock-sz
01:00:00   69/8010    0 3476/34703    0    0/0       0    0/0   
02:00:01   69/8010    0 3476/34703    0    0/0       0    0/0   
03:00:00   69/8010    0 3476/34703    0    0/0       0    0/0   
04:00:00   69/8010    0 3494/34703    0    0/0       0    0/0   
05:00:00   69/8010    0 3494/34703    0    0/0       0    0/0   
06:00:00   69/8010    0 3494/34703    0    0/0       0    0/0   
07:00:00   69/8010    0 3494/34703    0    0/0       0    0/0   
08:00:00   69/8010    0 3494/34703    0    0/0       0    0/0   
08:20:00   69/8010    0 3494/34703    0    0/0       0    0/0   
08:40:01   69/8010    0 3494/34703    0    0/0       0    0/0   
09:00:00   69/8010    0 3494/34703    0    0/0       0    0/0   
09:20:00   69/8010    0 3494/34703    0    0/0       0    0/0   
09:40:00   74/8010    0 3494/34703    0    0/0       0    0/0   
10:00:00   75/8010    0 4918/34703    0    0/0       0    0/0   
10:20:00   72/8010    0 4918/34703    0    0/0       0    0/0   
10:40:00   71/8010    0 5018/34703    0    0/0       0    0/0   
11:00:00   77/8010    0 5018/34703    0    0/0       0    0/0  

Comprobación de actividad de intercambio (sar –w)

Utilice el comando sar -w para informar la actividad de cambio e intercambio.

$ sar -w
00:00:00 swpin/s bswin/s swpot/s bswot/s pswch/s
01:00:00    0.00     0.0    0.00     0.0      22

La siguiente lista describe los valores de destino y las observaciones relacionadas con el resultado del comando sar –w.

swpin/s

El número de transferencias de procesos ligeros a la memoria por segundo.

bswin/s

El número de bloques transferidos para cargas de datos en la memoria swap por segundo. /* (float)PGTOBLK(xx->cvmi.pgswapin) / sec_diff */.

swpot/s

El número medio de datos de procesos que se extraen de la memoria swap por segundo. Si el número es mayor que 1, es posible que deba aumentar la memoria.

bswot/s

El número de bloques transferidos para extracciones de datos de la memoria swap por segundo.

pswch/s

El número de cambios de subprocesos del núcleo por segundo.


Notas -  Todas las cargas de datos de procesos en la memoria swap incluyen la inicialización del proceso.
Ejemplo 3-13  Comprobación de actividad de intercambio (sar –w)

El siguiente ejemplo muestra el resultado del comando sar -w.

$ sar -w

00:00:04 swpin/s bswin/s swpot/s bswot/s pswch/s
01:00:00    0.00     0.0    0.00     0.0     132
02:00:01    0.00     0.0    0.00     0.0     133
03:00:00    0.00     0.0    0.00     0.0     133
04:00:00    0.00     0.0    0.00     0.0     134
05:00:00    0.00     0.0    0.00     0.0     133
06:00:00    0.00     0.0    0.00     0.0     133
07:00:00    0.00     0.0    0.00     0.0     132
08:00:00    0.00     0.0    0.00     0.0     131
08:20:00    0.00     0.0    0.00     0.0     133
08:40:01    0.00     0.0    0.00     0.0     132
09:00:00    0.00     0.0    0.00     0.0     132
09:20:00    0.00     0.0    0.00     0.0     132
09:40:00    0.00     0.0    0.00     0.0     335
10:00:00    0.00     0.0    0.00     0.0     601
10:20:00    0.00     0.0    0.00     0.0     353
10:40:00    0.00     0.0    0.00     0.0     747
11:00:00    0.00     0.0    0.00     0.0     804

Average     0.00     0.0    0.00     0.0     198

Comprobación de actividad de terminal (sar –y)

Utilice el comando sar -y para supervisar las actividades del dispositivo del terminal.

$ sar -y
00:00:00 rawch/s canch/s outch/s rcvin/s xmtin/s mdmin/s
01:00:00       0       0       0       0       0       0

Si dispone de una gran cantidad de E/S de terminal, puede utilizar este informe para determinar si existen líneas defectuosas. Las actividades registradas se definen en la siguiente lista.

rawch/s

Caracteres de entrada (colas sin formato) por segundo

canch/s

Caracteres de entrada por segundo que se procesan por canon (cola canónica)

outch/s

Caracteres de resultado (cola de resultado) por segundo

rcvin/s

Interrupciones de receptor de hardware por segundo

xmtin/s

Interrupciones de transmisor de hardware por segundo

mdmin/s

Interrupciones de módem por segundo

El número de interrupciones de módem por segundo (mdmin/s) debe estar cerca de cero. El número de interrupciones de recepción y transmisión por segundo (xmtin/s y rcvin/s) debe ser menor o igual que el número de caracteres entrantes o salientes, respectivamente. Si no, busque las líneas defectuosas.

Ejemplo 3-14  Comprobación de actividad de terminal (sar -y)

El siguiente ejemplo muestra el resultado del comando sar -y.

$ sar -y

00:00:04 rawch/s canch/s outch/s rcvin/s xmtin/s mdmin/s
01:00:00       0       0       0       0       0       0
02:00:01       0       0       0       0       0       0
03:00:00       0       0       0       0       0       0
04:00:00       0       0       0       0       0       0
05:00:00       0       0       0       0       0       0
06:00:00       0       0       0       0       0       0
07:00:00       0       0       0       0       0       0
08:00:00       0       0       0       0       0       0
08:20:00       0       0       0       0       0       0
08:40:01       0       0       0       0       0       0
09:00:00       0       0       0       0       0       0
09:20:00       0       0       0       0       0       0
09:40:00       0       0       1       0       0       0
10:00:00       0       0      37       0       0       0
10:20:00       0       0       0       0       0       0
10:40:00       0       0       3       0       0       0
11:00:00       0       0       3       0       0       0

Average        0       0       1       0       0       0

Comprobación del rendimiento global del sistema (sar –A)

Use el comando sar -A para mostrar las estadísticas de todas las opciones a fin de proporcionar una vista del rendimiento global del sistema.

Este comando proporciona una perspectiva más global. Si se muestran datos de más de un segmento de tiempo único, el informe incluye valores medios.