Red Hat Enterprise Linux 4: Introdução à Administração de Sistemas | ||
---|---|---|
Anterior | Capítulo 2. Monitoramento de Recursos | Próxima |
O Red Hat Enterprise Linux traz diversas ferramentas de monitoramento dos recursos. Apesar de existir mais ferramentas que as listadas aqui, essas são as mais representativas em termos de funcionalidade:
free
top (e Monitor GNOME do Sistema, uma versão mais gráfica do top)
vmstat
O pacote Sysstat de ferramentas de monitoramento dos recursos
O perfilador do sistema OProfile
Vamos examinar cada um mais detalhadamente.
O comando free apresenta a utilização da memória do sistema. Aqui está um exemplo de seu output:
total used free shared buffers cached Mem: 255508 240268 15240 0 7592 86188 -/+ buffers/cache: 146488 109020 Swap: 530136 26268 503868 |
A linha Mem: apresenta a utilização da memória física, enquanto a linha Swap: apresenta a utilização do espaço swap do sistema, e a linha -/+ buffers/cache: traz a quantidade de memória física corrente dedicada aos buffers do sistema.
Como o free apresenta as informações de utilização da memória uma só vez por default, é útil somente para monitoramento de curto prazo, ou para determinar rapidamente se um problema relativo à memória está ocorrendo no momento. Apesar do free ter a habilidade de apresentar a utilização da memória repetidamente através de sua opção -s, seu output se estende ao longo da tela, dificultando detectar as alterações na utilização da memória.
![]() | Dica | ||
---|---|---|---|
Uma solução melhor que o uso do free -s seria executar o free usando o comando watch. Por exemplo: para trazer a utilização da memória a cada dois segundos (o intervalo default de display do watch), use esse comando:
O comando watch submete o comando free a cada dois segundos, limpando a tela e exibindo o novo output na mesma localidade. Isso facilita determinar as alterações na utilização da memória ao longo do tempo, já que o watch cria uma única visualização atualizada sem scrolling. Você pode controlar o intervalo entre as atualizações usando a opção -n e fazer com que quaisquer alterações entre as atualizações sejam destacadas, usando a opção -d, conforme o comando seguinte:
Para mais informações , consulte a página man watch. O comando watch roda continuamente até ser interrompido por |
Enquanto o free apresenta somente informações relativas à memória, o comando top faz um pouco de tudo. A utilização da CPU, as estatísticas de processo, a utilização da memória — o top monitora tudo. Além disso, ao contrário do comando free, o comportamento defalut do top é rodar continuamente; não há necessidade de usar o comando watch. Aqui está uma amostra:
14:06:32 up 4 days, 21:20, 4 users, load average: 0.00, 0.00, 0.00 77 processes: 76 sleeping, 1 running, 0 zombie, 0 stopped CPU states: cpu user nice system irq softirq iowait idle total 19.6% 0.0% 0.0% 0.0% 0.0% 0.0% 180.2% cpu00 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 100.0% cpu01 19.6% 0.0% 0.0% 0.0% 0.0% 0.0% 80.3% Mem: 1028548k av, 716604k used, 311944k free, 0k shrd, 131056k buff 324996k actv, 108692k in_d, 13988k in_c Swap: 1020116k av, 5276k used, 1014840k free 382228k cached PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU COMMAND 17578 root 15 0 13456 13M 9020 S 18.5 1.3 26:35 1 rhn-applet-gu 19154 root 20 0 1176 1176 892 R 0.9 0.1 0:00 1 top 1 root 15 0 168 160 108 S 0.0 0.0 0:09 0 init 2 root RT 0 0 0 0 SW 0.0 0.0 0:00 0 migration/0 3 root RT 0 0 0 0 SW 0.0 0.0 0:00 1 migration/1 4 root 15 0 0 0 0 SW 0.0 0.0 0:00 0 keventd 5 root 34 19 0 0 0 SWN 0.0 0.0 0:00 0 ksoftirqd/0 6 root 35 19 0 0 0 SWN 0.0 0.0 0:00 1 ksoftirqd/1 9 root 15 0 0 0 0 SW 0.0 0.0 0:07 1 bdflush 7 root 15 0 0 0 0 SW 0.0 0.0 1:19 0 kswapd 8 root 15 0 0 0 0 SW 0.0 0.0 0:14 1 kscand 10 root 15 0 0 0 0 SW 0.0 0.0 0:03 1 kupdated 11 root 25 0 0 0 0 SW 0.0 0.0 0:00 0 mdrecoveryd |
O resultado é dividido em duas seções. A seção superior contém informações relativas ao estado geral do sistema — tempo ligado (uptime), carga média, contagens de processos, estado da CPU e estatísticas de utilização da memória e do espaço swap. A seção inferior apresenta estatísticas no nível do processo. É possível alterar a exibição enquanto o top está rodando. Por exemplo: o top apresenta processos inativos e ativos por default. Para exibir somente os processos ativos, pressione
![]() | Aviso |
---|---|
Apesar do top aparecer como um simples programa de apresentação, este não é o caso. Isso ocorre porque o top usa comandos de caractere simples para executar várias operações. Por exemplo: se você está autenticado como root, é possível alterar a prioridade e até mesmo terminar quaisquer processos de seu sistema. Consequentemente, até que você reveja a tela de ajuda do top (digite |
Se você prefere utilizar interfaces gráficas de usuário, o Monitor GNOME do Sistema pode ser a sua escolha. Como o top, o Monitor GNOME do Sistema apresenta as informações relacionadas ao estado geral do sistema, contagens de processos, utilização da memória e swap e também estatísticas a nível de processo.
No entanto, o Monitor GNOME do Sistema vai um passo além, incluindo também representações gráficas da utilização da CPU, da memória e de swap, juntamente a uma listagem da utilização do espaço em disco em forma de tabela. Veja um exemplo da Listagem de Processos do Monitor GNOME do Sistema na Figura 2-1.
É possível apresentar informações adicionais para processos específicos; primeiro clique no processo desejado e então clique no botão Mais Informações (More Info).
Para apresentar as estatísticas da CPU, memória e uso do disco, clique na aba Monitor do Sistema (System Monitor).
Para um entendimento mais conciso do desempenho do sistema, tente o vmstat. Com o vmstat, é possível obter uma visão geral dos processos, memória, swap, I/O, sistema e das atividades da CPU numa linha de números:
procs memory swap io system cpu r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 5276 315000 130744 380184 1 1 2 24 14 50 1 1 47 0 |
A primeira linha divide os campos em seis categorias, incluindo estatísticas do processo, da memória, swap, I/O, do sistema e da CPU. A segunda linha identifica o conteúdo de cada campo, facilitando a busca de dados para estatísticas específicas.
Os campos relativos ao processo são:
r — O número de processos executáveis (runnable processes) aguardando para acessar a CPU
b — O número de processos num estado de dormência contínua
Os campos relativos à memória são:
swpd — A quantidade de memória virtual usada
free — A quantidade de memória livre
buff — A quantidade de memória usada para buffers
cache — A quantidade de memória usada para cache
Os campos relativos à swap são:
si — A quantidade de memória enviada para swap pelo disco
so — A quantidade de memória retirada de swap para o disco
Os campos relativos a I/O são:
bi — Blocos enviados a um dispositivo de bloco
bo — Blocos recebidos de um dispositivo de bloco
Os campos relativos ao sistema são:
in — O número de interrupções por segundo
cs — O número de mudanças de contexto por segundo
Os campos relativos à CPU são:
us — A porcentagem de tempo em que a CPU rodou código a nível do usuário
sy — A porcentagem de tempo em que a CPU rodou código a nível do sistema
id — A porcentagem de tempo em que a CPU estava osciosa
wa — espera das I/O
Quando o vmstat é executado sem nenhuma opção, apresenta somente uma linha. Essa linha contém médias, calculadas desde a hora em que o sistema foi inicializado pela última vez.
Entretanto, a maioria dos administradores de sistema não confia nas informações dessa linha, já que varia o tempo ao longo do qual foram coletadas. Ao invés disso, a maioria dos administradores aproveita a habilidade do vmstat em apresentar repetidamente os dados de utilização dos recursos em intervalos determinados. Por exemplo: o comando vmstat 1 apresenta uma nova linha com informações de utilização a cada segundo, enquanto o comando vmstat 1 10 apresenta uma nova linha por segundo, mas apenas nos próximos dez segundos.
Nas mãos de um administrador experiente, o vmstat pode ser usado para determinar rapidamente as questões de desempenho e utilização de recursos. Mas, para ter mais conhecimento destas questões, é necessário usar um tipo diferente de ferramenta — uma ferramenta capaz de coletar e analisar dados mais profundos.
Enquanto as ferramentas anteriores são úteis para obter mais conhecimento sobre o desempenho do sistema ao longo de períodos de tempo curtos, têm pouco uso além de prover uma rápida visualização da utilização dos recursos. Além disso, há aspectos do desempenho do sistema que não podem ser facilmente monintorados com ferramentas simplistas como estas.
Sendo assim, é necessário uma ferramenta mais sofisticada. Sysstat é essa ferramenta.
Sysstat contém as seguintes ferramentas relacionadas à obtenção de estatísticas de I/O e CPU:
Apresenta uma visão geral da utilização da CPU, junto às estatísticas de I/O de um ou mais drives de disco.
Apresenta estatísticas mais profundas da CPU.
Sysstat também contém ferramentas que coletam dados de utilização dos recursos do sistema e criam relatórios diários baseados nestes dados. Estas ferramentas são:
Conhecido como o coletor de dados de atividade do sistema, o sadc coleta informações da utilização dos recursos do sistema e as grava num arquivo.
Os relatórios do sar são criados a partir de arquivos do sadc, e podem ser gerados interativamente ou gravados num arquivo para uma análise mais intensa.
As seções seguintes exploram cada uma destas ferramentas mais detalhadamente.
O comando iostat, em sua forma mais básica, oferece uma visão geral das estatísticas da CPU e operações I/O do disco:
Linux 2.4.20-1.1931.2.231.2.10.ent (pigdog.example.com) 07/11/2003 avg-cpu: %user %nice %sys %idle 6.11 2.56 2.15 89.18 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn dev3-0 1.68 15.69 22.42 31175836 44543290 |
Abaixo da primeira linha (que contém a versão do kernel do sistema e o nome da máquina, junto à data corrente), o iostat apresenta uma visão geral da utilização média da CPU do sistema desde a última inicialização. O relatório de utilização da CPU inclui as seguintes porcentagens:
Porcentagem do tempo gasto no modo usuário (rodando aplicações, etc)
Porcentagem do tempo gasto no modo usuário (para processos que alteraram suas prioridades de agendamento usando o nice(2))
Porcentagem do tempo gasto no modo kernel
Porcentagem do tempo inativo
O relatório de utilização do dispositivo está abaixo do relatório de utilização da CPU. Este relatório contém uma linha para cada dispositivo de disco ativo no sistema e inclui as seguintes informações:
A especificação do dispositivo é apresentada como dev<maior-número>-número-sequencial, onde <maior-número> é o maior número do dispositivo[1] e <número-sequencial> é um número sequencial começando por zero.
O número de transferências (ou operações I/O) por segundo.
O número de blocos de 512 bytes acessados por segundo.
O número de blocos de 512 bytes gravados por segundo.
O número total de blocos de 512 bytes acessados.
O número total de blocos de 512 bytes gravados.
Esta é apneas uma amostra das informações que podem ser obtidas usando o iostat. Para mais informações, consulte a página man iostat(1).
À primeira vista, o comando mpstat não parece ser diferente do relatório de utilização da CPU produzido pelo iostat:
Linux 2.4.20-1.1931.2.231.2.10.ent (pigdog.example.com) 07/11/2003 07:09:26 PM CPU %user %nice %system %idle intr/s 07:09:26 PM all 6.40 5.84 3.29 84.47 542.47 |
Além da coluna adicional com as interrupções por segundo resolvidas pela CPU, não há diferença real. No entanto, a situação muda se a opção -P ALL do mpstat for usada:
Linux 2.4.20-1.1931.2.231.2.10.ent (pigdog.example.com) 07/11/2003 07:13:03 PM CPU %user %nice %system %idle intr/s 07:13:03 PM all 6.40 5.84 3.29 84.47 542.47 07:13:03 PM 0 6.36 5.80 3.29 84.54 542.47 07:13:03 PM 1 6.43 5.87 3.29 84.40 542.47 |
Em sistemas com multi-processadores, o mpstat permite exibir a utilização de cada CPU separadamente, possibilitando determinar o quão efetivamente cada CPU é usada.
Conforme mencionado anteriormente, o comando sadc coleta dados de utilização do sistema e os grava num arquivo para análise posterior. Por default, os dados são gravados em arquivos no diretório /var/log/sa/. Os arquivos são nomeados como sa<dd>, onde <dd> é a data do dia corrente em dois dígitos.
O sadc é normalmente executado pelo script do sa1. Esse script é periodicamente invocado pelo cron através do arquivo sysstat, localizado em /etc/cron.d/. O script sa1 invoca o sadc para um único intervalo de medição de um segundo. Por default, o cron roda o sa1 a cada 10 minutos, adicionando os dados coletados durante cada intervalo ao arquivo /var/log/sa/sa<dd> corrente.
O comando sar produz relatórios de utilização do sistema baseados nos dados coletados pelo sadc. Conforme configurado no Red Hat Enterprise Linux, o sar é automaticamente executado para processar os arquivos automaticamente coletados pelo sadc. Os arquivos de relatórios são gravados em /var/log/sa/ e são nomeados como sar<dd>, onde <dd> é a representação de dois dígitos da data do dia anterior.
O sar é normalmente executado pelo script do sa2. Esse script é periodicamente invocado pelo cron através do arquivo sysstat, localizado em /etc/cron.d/. Por default, o cron roda o sa2 uma vez por dia, às 23:53, permitindo que produza um relatório com os dados do dia todo.
O formato de um relatório do sar produzido pela configuração default do Red Hat Enterprise Linux consiste de seções múltiplas, e cada seção contém um tipo de dado específico, ordenado pela hora do dia em que o dado foi coletado. Como o sadc é configurado para efetuar um intervalo de medição de um segundo a cada dez minutos, o relatório default do sar contém dados em blocos de dez minutos, de 00:00 a 23:50[2].
Cada seção do relatório inicia com um cabeçalho descrevendo os dados contidos na seção. O cabeçalho é repetido em intervalos regulares ao longo da seção, facilitando interpretar os dados enquanto navegamos no relatório. Cada seção termina com uma linha contendo a média dos dados reportados na seção.
Veja um exemplo de seção do relatório do sar, com os dados de 00:30 a 23:40 removidos para economizar espaço:
00:00:01 CPU %user %nice %system %idle 00:10:00 all 6.39 1.96 0.66 90.98 00:20:01 all 1.61 3.16 1.09 94.14 … 23:50:01 all 44.07 0.02 0.77 55.14 Average: all 5.80 4.99 2.87 86.34 |
Nesta seção são apresentadas as informações de utilização da CPU. Estas são bem similares às informações apresentadas pelo iostat.
Outras seções talvez tenham mais de uma linha de dados por vez, conforme exibido nesta seção gerada a partir dos dados de utilização da CPU, coletados num sistema de processador duplo:
00:00:01 CPU %user %nice %system %idle 00:10:00 0 4.19 1.75 0.70 93.37 00:10:00 1 8.59 2.18 0.63 88.60 00:20:01 0 1.87 3.21 1.14 93.78 00:20:01 1 1.35 3.12 1.04 94.49 … 23:50:01 0 42.84 0.03 0.80 56.33 23:50:01 1 45.29 0.01 0.74 53.95 Average: 0 6.00 5.01 2.74 86.25 Average: 1 5.61 4.97 2.99 86.43 |
Há um total de dezessete seções diferentes presentes nos relatórios gerados pela configuração default do sar no Red Hat Enterprise Linux. Algumas destas seções são abordadas nos próximos capítulos. Para mais informações sobre os dados contidos em cada seção, consulte a página man sar(1).
O perfilador do sistema OProfile é uma ferramenta de monitoramento de baixa sobrecarga. O OProfile utiliza o hardware de monitoramento do desempenho do processador[3] para determinar a natureza de problemas relativos ao desempenho.
O hardware de monitoramento do desempenho é parte do próprio processador. Tem a forma de um contador especial, aumentando cada vez que um determinado evento (como o processador estar ativo ou os dados desejados não serem enviados ao cache) ocorre. Alguns processadores tem mais de um contador como esse, e permitem a seleção de tipos de eventos diferentes para cada contador.
Os contadores podem ser carregados com um valor inicial e produzir uma interrupção sempre que o contador ultrapassar o limite. Ao carregar um contador com valores iniciais diferentes, é possível variar a taxa de produção de interrupções. Dessa maneira, é possível controlar a taxa de controle e, consequentemente, o nível de detalhe obtido através dos dados coletados.
Em um extremo, ajustar o contador para gerar uma interrupção de sobrecarga com todos os eventos, oferece dados de desempenho extremamente detalhados (mas com sobrecarga massiva). No outro extremo, ajustar o contador para gerar o menor número de interrupções possível, oferece apenas uma visão genérica do desempenho do sistema (com praticamente nenhuma sobrecarga). O segredo do monitoramento efetivo é a seleção de uma taxa limite suficientemente alta para capturar os dados necessários, mas não tão alta a ponto de sobrecarregar o sistema com a sobrecarga de monitoramento do desempenho.
![]() | Aviso |
---|---|
Você poode configurar o OProfile para produzir sobrecarga suficiente a fim de tornar o sistema inutilizável. Consequentemente, você deve tomar cuidado ao selecionar os valores limite. Por este motivo, o comando opcontrol suporta a opção --list-events, que apresenta os tipos de evento disponíveis para o processador instalado, junto a valores limite mínimos sugeridos para cada evento. |
É importante ter em mente a dificuldade de equilíbrio entre a taxa limite e a sobrecarga ao usar o OProfile.
O Oprofile consiste dos seguintes componentes:
Software de coleta de dados
Software de análise de dados
Software de interface administrativa
O software de coleta de dados consiste do módulo oprofile.o do kernel e do daemon oprofiled.
O software de análise de dados inclui os seguintes programas:
Exibe o número e porcentagens relativas de amostras obtidas para cada arquivo executável
Exibe o número e porcentagem relativa obtida pela instrução individual ou pelo output no estilo do gprof.
Exibe o código fonte comentado e/ou as listagens de código do assembly
Exibe graficamente os dados coletados
Estes programas possibilitam exibir os dados coletados de diversas formas.
O software de interface administrativa controla todos os aspectos da coleta de dados, da especificação dos eventos a serem monitorados ao início e parada da própria coleta. Isso é feito usando o comando opcontrol.
Esta amostra exibe uma sessão de monitoramento e análise de dados da configuração inicial à análise de dados final. É apenas uma visão geral introdutória; para mais informações, consulte o Guia de Administração de Sistemas Red Hat Enterprise Linux.
Use o opcontrol para configurar o tipo de dados a serem coletados com o seguinte comando:
opcontrol \ --vmlinux=/boot/vmlinux-`uname -r` \ --ctr0-event=CPU_CLK_UNHALTED \ --ctr0-count=6000 |
As opções usadas aqui direcionam o opcontrol para:
Direcionar o OProfile para uma cópia do kernel rodando no momento (--vmlinux=/boot/vmlinux-`uname -r`)
Especificar que o contador 0 do processador deve ser usado e que o evento a ser monitorado é o tempo em que a CPU está executando instruções (--ctr0-event=CPU_CLK_UNHALTED)
Especificar que o OProfile deve coletar amostras a cada 6000 vezes que o evento especificado ocorrer (--ctr0-count=6000)
Em seguida, verifique se o módulo oprofile do kernel está carregado usando o comando lsmod:
Module Size Used by Not tainted oprofile 75616 1 … |
Confirme se o sistema de arquivo do OProfile (localizado em /dev/oprofile/) está montado com o comando ls /dev/oprofile/:
0 buffer buffer_watershed cpu_type enable stats 1 buffer_size cpu_buffer_size dump kernel_only |
(O número exato de arquivos varia de acordo com o tipo de processador.)
Neste ponto, o arquivo /root/.oprofile/daemonrc contém os ajustes necessários para o software de coleta de dados:
CTR_EVENT[0]=CPU_CLK_UNHALTED CTR_COUNT[0]=6000 CTR_KERNEL[0]=1 CTR_USER[0]=1 CTR_UM[0]=0 CTR_EVENT_VAL[0]=121 CTR_EVENT[1]= CTR_COUNT[1]= CTR_KERNEL[1]=1 CTR_USER[1]=1 CTR_UM[1]=0 CTR_EVENT_VAL[1]= one_enabled=1 SEPARATE_LIB_SAMPLES=0 SEPARATE_KERNEL_SAMPLES=0 VMLINUX=/boot/vmlinux-2.4.21-1.1931.2.349.2.2.entsmp |
Em seguida, use opcontrol para iniciar a coleta de dados com o comando opcontrol --start:
Using log file /var/lib/oprofile/oprofiled.log Daemon started. Profiler running. |
Verifque se o daemon oprofiled está rodando com o comando ps x | grep -i oprofiled:
32019 ? S 0:00 /usr/bin/oprofiled --separate-lib-samples=0 … 32021 pts/0 S 0:00 grep -i oprofiled |
(A linha de comando oprofiled apresentada pelo ps é bem mais longa; no entanto, foi truncada aqui por motivos de formatação.)
Agora o sistema está sendo monitorado, com coleta de dados para todos os executáveis presentes no sistema. Os dados são armazenados no diretório /var/lib/oprofile/samples/. Os arquivos desse diretório seguem uma convenção de nomes fora do comum. Aqui está um exemplo:
}usr}bin}less#0 |
A convenção de nomes usa a localidade absoluta de cada arquivo contendo código executável, com os caracteres barra (/) substituídos por chaves finais (}), e terminando com um jogo da velha (#) seguido por um número (0, neste caso.) Consequentemente, o arquivo usado neste exemplo representa os dados coletados enquanto o /usr/bin/less estava rodando.
Após a coleta dos dados, use uma das ferramentas de análise para exibí-los. O OProfile tem a vantagem de não precisar parar a coleta de dados antes de executar a análise de dados. No entanto, você deve esperar que pelo menos um conjunto de amostras seja gravado no disco, ou use o comando opcontrol --dump para forçar as amostras no disco.
No exemplo a seguir, o op_time é usado para exibir (em ordem inversa — do maior número de amostras ao menor) as amostras que foram coletadas.
3321080 48.8021 0.0000 /boot/vmlinux-2.4.21-1.1931.2.349.2.2.entsmp 761776 11.1940 0.0000 /usr/bin/oprofiled 368933 5.4213 0.0000 /lib/tls/libc-2.3.2.so 293570 4.3139 0.0000 /usr/lib/libgobject-2.0.so.0.200.2 205231 3.0158 0.0000 /usr/lib/libgdk-x11-2.0.so.0.200.2 167575 2.4625 0.0000 /usr/lib/libglib-2.0.so.0.200.2 123095 1.8088 0.0000 /lib/libcrypto.so.0.9.7a 105677 1.5529 0.0000 /usr/X11R6/bin/XFree86 … |
Usar less é uma boa idéia ao produzir um relatório interativamente, já que este pode ter centenas de linhas. O exemplo ilustrado aqui foi truncado por este motivo.
O formato desse relatório específico consiste na produção de uma linha para cada arquivo executável dos quais as amostras foram retiradas. Cada linha segue este formato:
<sample-count> <sample-percent> <unused-field> <executable-name> |
Onde:
<sample-count> representa o número de amostras coletadas
<sample-percent> representa a porcentagem de todas as amostras coletadas para esse executável específico
<campo-não-usado> é um campo que não está usado
<executable-name> representa o nome do arquivo contendo código executável para o qual as amostras foram coletadas.
Esse relatório (produzido num sistema inativo na maior parte do tempo) mostra que quase metade das amostras foram coletadas enquanto a CPU estava rodando código dentro do próprio kernel. Em seguida, na linha, está o dameon de coleta de dados do OProfile, seguido por diversas bibliotecas e do servidor do Sistema X Window, o XFree86. Vale notar que, para o sistema rodar essa seção de amostra, o valor de 6000 usado no contador representa o valor mínimo recomendado pelo opcontrol --list-events. Isso significa que — pelo menos para este sistema em particular — a sobrecarga do OProfile no seu ápice consome aproximadamente 11% da CPU.
[1] | Os números maiores do dispositivos podem ser obtidos usando ls -l para exibir o arquivo do dispositivo desejado em /dev/. O maior número aparece após a especificação do grupo do dispositivo. |
[2] | Devido à dinâmica das cargas de sistema, a hora real na qual os dados foram coletados pode variar em um segundo ou dois. |
[3] | O OProfile também pode usar um mecanismo de fallback (conhecido como TIMER_INT) para aquelas arquiteturas de sistema que não têm hardware de monitoramento do desempenho. |