O provedor sysinfo disponibiliza testes que correspondem aos campos na estatística do kernel chamada sys: um teste fornecido por sysinfo é acionado imediatamente antes do valor sys correspondente ser incrementado. O exemplo seguinte mostra como exibir ambos os nomes e os valores atuais da estatística do sistema chamada sys usando o comando kstat(1M).
$ kstat -n sys module: cpu instance: 0 name: sys class: misc bawrite 123 bread 2899 bwrite 17995 ... |
Os testes do sysinfo estão descritos na Tabela 23–1.
Tabela 23–1 Testes do sysinfo
bawrite |
Teste que é acionado sempre que um buffer está prestes a ser gravado assincronamente em um dispositivo. |
bread |
Teste que é acionado sempre que um buffer é fisicamente lido a partir de um dispositivo. bread é acionado depois que o buffer tiver sido solicitado do dispositivo, mas antes que o bloqueio impeça a sua conclusão. |
bwrite |
Teste que é acionado sempre que um buffer está prestes a ser gravado em um dispositivo, seja síncrona ou assincronamente. |
idlethread |
Teste que é acionado sempre que uma CPU entra no loop inativo. |
intrblk |
Teste que é acionado sempre que um segmento de interrupção é bloqueado. |
inv_swtch |
Teste que é acionado sempre que um segmento em execução é forçado a desistir involuntariamente da CPU. |
lread |
Teste que é acionado sempre que um buffer é logicamente lido a partir de um dispositivo. |
lwrite |
Teste que é acionado sempre que um buffer é logicamente gravado a partir de um dispositivo. |
modload |
Teste que é acionado sempre que um módulo do kernel é carregado. |
modunload |
Teste que é acionado sempre que um módulo do kernel é descarregado. |
msg |
Teste que é acionado sempre que uma chamada do sistema msgsnd(2) ou msgrcv(2) é feita, mas antes que as operações da fila de mensagens tenha sido realizada. |
mutex_adenters |
Teste que é acionado sempre que é feita uma tentativa de adquirir o bloqueio adaptativo com proprietário. Se este teste for acionado, um dos adaptive-block do provedor lockstat ou testes do adaptive-spin também serão acionados. Consulte o Capítulo 18Provedor lockstat para obter detalhes. |
namei |
Teste que é acionado sempre que uma pesquisa de nome é tentada no sistema de arquivos. |
nthreads |
Teste que é acionado sempre que um segmento é criado. |
phread |
Teste que é acionado sempre que uma leitura de E/S básica está prestes a ser realizada. |
phwrite |
Teste que é acionado sempre que uma gravação de E/S básica está prestes a ser realizada. |
procovf |
Teste que é acionado sempre que um novo processo não pode ser criado porque o sistema está fora das entradas de tabela do processo. |
pswitch |
Teste que é acionado sempre que uma CPU alterna entre executar um segmento para executar outro. |
readch |
Teste que é acionado depois de cada leitura bem sucedida, mas antes que o controle seja retornado para o segmento que está realizando a leitura. Uma leitura pode ocorrer através das chamadas do sistema read(2), readv(2) ou pread(2) arg0 contém o número de bytes que foram lidos com êxito. |
rw_rdfails |
Teste que é acionado sempre que há uma tentativa de ler-bloquear um bloqueio de leitores/gravador quando o bloqueio já está sendo mantido por um gravador, ou desejado por um gravador. Se este teste for acionado, o teste rw-block do provedor lockstat também será acionado. Consulte o Capítulo 18Provedor lockstat para obter detalhes. |
rw_wrfails |
Teste que é acionado sempre que há uma tentativa de gravar-bloquear um bloqueio de leitores/gravador quando o bloqueio é mantido por alguns leitores ou por outro gravador. Se este teste for acionado, o teste rw-block do provedor lockstat também será acionado. Consulte o Capítulo 18Provedor lockstat para obter detalhes. |
sema |
Teste que é acionado sempre que uma chamada do sistema semop(2) é feita, mas antes que quaisquer operações de semáforo tenham sido realizadas. |
sysexec |
Teste que é acionado sempre que uma chamada do sistema exec(2) é feita. |
sysfork |
Teste que é acionado sempre que uma chamada do sistema fork(2) é feita. |
sysread |
Teste que é acionado sempre que uma chamada do sistema read(2), readv(2) ou pread(2) é feita. |
sysvfork |
Teste que é acionado sempre que uma chamada do sistema vfork(2) é feita. |
syswrite |
Teste que é acionado sempre que uma chamada do sistema write(2), writev(2) ou pwrite(2) é feita. |
trap |
Teste que é acionado sempre que uma interceptação do processador ocorre. Observe que alguns processadores, em particular variantes do UltraSPARC, manipulam algumas interceptações leves através de um mecanismo que não faz com que este teste seja acionado. |
ufsdirblk |
Teste que é acionado sempre que um bloqueio de diretório é lido a partir de um sistema de arquivos UFS. Consulte ufs(7FS) para obter detalhes sobre UFS. |
ufsiget |
Teste que é acionado sempre que um inode é recuperado. Consulte ufs(7FS) para obter detalhes sobre UFS. |
ufsinopage |
Teste que é acionado depois que um inode no núcleo sem quaisquer páginas de dados associadas tiver sido disponibilizado para reutilização. Consulte ufs(7FS) para obter detalhes sobre UFS. |
ufsipage |
Teste que é acionado depois que um inode no núcleo com quaisquer páginas de dados associadas tiver sido disponibilizado para reutilização. Este teste é acionado depois que as páginas de dados associadas forem movidas para o disco. Consulte ufs(7FS) para obter detalhes sobre UFS. |
writech |
Teste que é acionado depois de cada gravação bem sucedida, mas antes que o controle seja retornado para o segmento que está realizando a gravação. Uma leitura pode ocorrer através de chamadas do sistema write(2), writev(2) ou pwrite(2). arg0 contém o número de bytes que foram gravados com êxito. |
xcalls |
Teste que é acionado sempre que uma chamada cruzada está prestes a ser feita. Uma chamada cruzada é o mecanismo do sistema operacional de uma CPU para solicitar o funcionamento imediato de outra CPU. |