Escolar Documentos
Profissional Documentos
Cultura Documentos
Bem-vindo DBA
Conta Sair Ajuda País Comunidades Eu sou... Eu quero... Pesquisar
Guia para Domínio Avançado dos Comandos do Linux – parte 3: gerenciamento de recursos
Nesta parte do guia, você aprenderá comandos avançados do Linux para monitorar os componentes físicos
Um sistema Linux consiste em diversos componentes físicos importantes, como CPU, memória, placa de rede e dispositivos de
armazenamento. Para gerenciar com eficácia um ambiente Linux, o ideal é poder medir as várias métricas desses recursos – quanto o
componente está processando, se há gargalos e assim por diante – com razoável precisão.
Nas outras partes desta série, você aprendeu alguns comandos para medir métricas em nível macro. Já nesta parte você aprenderá comandos
avançados do Linux para monitorar componentes físicos especificamente. Mais precisamente, aprenderá os comandos das seguintes
categorias:
Component Commands
Como se pode ver, alguns comandos aparecem em mais de uma categoria. Isso ocorre porque eles podem executar muitas tarefas. Alguns
comandos são mais adequados a alguns componentes – por exemplo, iostat para I/O –, mas é preciso entender as diferenças em seu
funcionamento e usar os mais convenientes para você.
Na maioria dos casos, um único comando pode não ser útil para entender o que realmente está acontecendo. Você deve conhecer vários
comandos para obter as informações desejadas.
"free"
Uma dúvida frequente é: “Quanta memória está sendo usada pelos meus aplicativos e pelos vários processos do servidor, usuário e sistema?”
Ou então: “Quanta memória está livre neste momento?” Se a memória usada pelos processos em execução ultrapassar a RAM disponível, eles
serão transferidos para o swap. Assim, uma dúvida subsequente é: “Quanto swap está sendo usado?”.
O comando "free" responde a todas essas dúvidas. E o melhor é que uma opção bastante útil, –m , mostra a memória livre em megabytes:
# free -m
total used free shared buffers cached
Mem: 1772 1654 117 0 18 618
-/+ buffers/cache: 1017 754
Swap: 1983 1065 918
O resultado anterior mostra que o sistema tem 1.772 MB de RAM, do qual 1.654 MB está sendo usado, deixando 117 MB de memória livre. A
segunda linha mostra os buffers e as alterações no tamanho de cache na memória física. A terceira linha mostra a utilização do swap.
Para mostrar as mesmas informações em kilobytes e gigabytes, substitua a opção -m por -k ou -g, respectivamente. Também é possível
detalhar até o nível dos bytes, usando a opção –b.
# free -b
total used free shared buffers cached
Mem: 1858129920 1724039168 134090752 0 18640896 643194880
-/+ buffers/cache: 1062203392 795926528
Swap: 2080366592 1116721152 963645440
A opção –t mostra o total na parte inferior do resultado (soma da memória física com o swap):
# free -m -t
total used free shared buffers cached
Mem: 1772 1644 127 0 16 613
-/+ buffers/cache: 1014 757
Swap: 1983 1065 918
Total: 3756 2709 1046
Apesar de o comando "free" não mostrar as porcentagens, podemos extrair e formatar partes específicas do resultado para mostrar a memória
usada como uma porcentagem apenas do total:
Isso é conveniente em scripts de shell, em que os números específicos são importantes. Por exemplo, talvez você queira disparar um alerta
quando a porcentagem da memória livre ficar abaixo de um limite específico.
De maneira semelhante, para encontrar a porcentagem do swap usado, você pode escrever:
Use o free para monitorar a carga de memória exercida por um aplicativo. Por exemplo, verifique a memória livre antes de iniciar o aplicativo de
backup e verifique-a imediatamente após o início. A diferença poderia ser atribuída ao consumo pelo aplicativo de backup.
http://www.oracle.com/technetwork/pt/articles/linux/part3-087826-ptb.html?printOnly=1 1/11
26/8/2014 Artigos: Linux - Guia para Domínio Avançado dos Comandos do Linux, Parte 3
Em vez disso, você pode usar o free para obter as informações de memória livre agora e prosseguir com o comando sar (mostrado mais
adiante) para verificar a tendência histórica do consumo da memória e do swap. Se a utilização do swap for temporária, provavelmente será um
pico isolado; mas se for acentuada durante um período de tempo, você deverá ficar atento. Há alguns possíveis e óbvios suspeitos das
sobrecargas de memória crônicas:
"ipcs"
Quando um processo é executado, ele aproveita a “memória compartilhada”. Pode haver um ou vários segmentos de memória compartilhada
por esse processo. Os processos enviam mensagens mutuamente (“comunicação entre processos” ou IPC) e usam semáforos. Para exibir as
informações sobre os segmentos de memória compartilhada, as filas de mensagem IPC e os semáforos, basta usar um único comando: o
ipcs.
# ipcs -m
Esse resultado, obtido em um servidor que executa software Oracle, mostra os vários segmentos de memória compartilhada. Cada um está
identificado exclusivamente por uma ID de memória compartilhada, mostrada na coluna “shmid”. (Mais adiante, você verá como usar o valor
dessa coluna.) A coluna “owner” mostra o proprietário do segmento, enquanto “perms” mostra as permissões (o mesmo que as permissões do
Unix) e “bytes” mostra o tamanho em bytes.
# ipcs -mu
# ipcs -ml
Se você perceber que os valores atuais são os valores do limite ou estão próximos a estes, deverá considerar o aumento do limite.
Você pode obter uma imagem detalhada de um segmento de memória compartilhada específico usando o valor shmid. A opção –i faz isso. A
seguir você saberá como ver os detalhes do shmid 3702792:
# ipcs -m -i 3702792
# ipcs -s
Esse resultado mostra alguns dados valiosos. Ele mostra que a matriz de semáforos com ID 1146880 tem 104 semáforos e que a outra tem
154. Se você somá-los, o valor total terá de ser inferior ao limite máximo definido pelo parâmetro do kernel (semmax). Ao instalar o Banco de
Dados Oracle, o verificador de pré-instalação terá uma verificação para a definição de semmax. Mais adiante, quando o sistema atingir um
estado constante, você poderá verificar a utilização real e ajustar o valor do kernel adequadamente.
http://www.oracle.com/technetwork/pt/articles/linux/part3-087826-ptb.html?printOnly=1 2/11
26/8/2014 Artigos: Linux - Guia para Domínio Avançado dos Comandos do Linux, Parte 3
Como descobrir os segmentos de memória compartilhada usados pela instância do Banco de Dados Oracle? Para saber isso, use o comando
oradebug. Primeiro, conecte-se ao banco de dados como sysdba:
# sqlplus / as sysdba
Agora, se você abrir o arquivo de rastreamento, verá as IDs de memória compartilhada. A seguir está um trecho do arquivo:
A ID de memória compartilhada foi mostrada em vermelho em negrito. Você pode usar essa ID de memória compartilhada para obter os
detalhes dela:
# ipcs -m -i 17235970
Outra observação útil é o valor de lpid – a ID do processo que teve contato com o segmento de memória compartilhada pela última vez. Para
demonstrar o valor nesse atributo, use SQL*Plus para se conectar à instância de uma sessão diferente.
# sqlplus / as sysdba
SPID
------------------------
13224
Agora execute novamente o comando ipcs com base no mesmo segmento de memória compartilhada:
# ipcs -m -i 17235970
Observe o valor de lpid, que foi alterado do valor original 12225 para 13224. O lpid mostra o PID do último processo que teve contato com o
segmento de memória compartilhada, e você viu como esse valor é alterado.
O comando em si oferece pouco valor. O comando seguinte – ipcrm – permite agir com base no resultado, conforme você verá na seção a
seguir.
ipcrm
Agora que você identificou a memória compartilhada e outras métricas de IPC, o que fazer com elas? Você já viu alguma utilização antes, como
identificar a memória compartilhada usada pelo Oracle, verificar se o parâmetro do kernel para memória compartilhada está definido e assim
por diante. Outra aplicação comum é remover a memória compartilhada, a fila de mensagens de IPC ou as matrizes de semáforos.
Para remover um segmento de memória compartilhada, observe o shmid do resultado do comando ipcs. Use a opção –m para remover o
segmento. Para remover o segmento com ID 3735562, use:
# ipcrm –m 3735562
Isso removerá a memória compartilhada. Você também pode usar esse procedimento para eliminar semáforos e filas de mensagens de IPC
também (usando os parâmetros –s e –q).
http://www.oracle.com/technetwork/pt/articles/linux/part3-087826-ptb.html?printOnly=1 3/11
26/8/2014 Artigos: Linux - Guia para Domínio Avançado dos Comandos do Linux, Parte 3
“oracle” e removê-lo (se houver) usando o comando "ipcrm".
vmstat
Quando chamado, o avô de todas as exibições relacionadas a memória e processo, o vmstat, é executado e publica continuamente suas
informações. Ele consiste em dois argumentos:
<interval> é o intervalo em segundos entre duas execuções. <count> é a quantidade de repetições que o vmstat faz. A seguir está uma amostra
quando queremos que o vmstat seja executado a cada cinco segundos e pare após a décima execução. Cada linha do resultado aparece
depois de cinco segundos e mostra as estatísticas nesse momento.
# vmstat 5 10
procs -----------memory---------- --swap-- ---io--- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 1087032 132500 15260 622488 89 19 9 3 0 0 4 10 82 5
0 0 1087032 132500 15284 622464 0 0 230 151 1095 858 1 0 98 1
0 0 1087032 132484 15300 622448 0 0 317 79 1088 905 1 0 98 0
… shows up to 10 times.
O resultado mostra muitas informações sobre os recursos do sistema. Vamos examiná-las detalhadamente:
r Processo no aguardo para ser executado. Quanto maior for a carga no sistema, maior será a
quantidade de processos aguardando para fazer os ciclos da CPU serem executados.
b Processos de hibernação que não podem ser interrompidos, também conhecidos como
processos “bloqueados”. É mais provável que esses processos estejam aguardando I/O,
mas também podem ser destinados a outra tarefa também.
Às vezes, há outra coluna também, com o título “w”, que mostra a quantidade de processos que podem ser executados mas foram destinados à
área de swap.
Os números de “b” devem ser próximos de 0. Se o número de “w” for alto, talvez seja necessária mais memória.
A memória de buffer é usada para armazenar metadados de arquivos como i-nodes e dados de dispositivos de bloco bruto. A memória de
cache é usada para os dados dos arquivos em si.
si Índice no qual a memória faz swap de volta do disco para a RAM física (em KB/s).
so Índice no qual a memória faz swap da RAM física para o disco (em KB/s).
bi Índice no qual o sistema envia dados aos dispositivos de bloco (em blocos/s).
sy Porcentagem da CPU usada pelos processos do sistema, como todos os processos raiz.
Vamos ver como interpretar esses valores. A primeira linha do resultado é uma média de todas as métricas desde que o sistema foi reiniciado.
Assim, ignore essa linha, porque ela não mostra o status atual. As outras linhas mostram as métricas em tempo real.
O ideal é que a quantidade de processos em aguardo ou bloqueados (no título “procs”) seja 0 ou próxima de 0. Se a quantidade for alta, o
sistema não terá recursos suficientes como CPU, memória ou I/O. Essas informações são úteis ao diagnosticar problemas de performance.
Os dados sob “swap” indicam se está havendo excesso de swap. Se esse for o caso, você poderá ter memória física inadequada. Você deve
reduzir a demanda de memória ou aumentar a RAM física.
Os dados em “io” indicam o fluxo de dados de e para os discos. Isso mostra a quantidade de atividade no disco, o que não necessariamente
indica algum problema. Se você vir algum número grande em “proc” e a coluna “b” (processos sendo bloqueados) e alto I/O, o problema poderá
ser uma grave contenção de I/O.
As informações mais úteis estão no título “cpu”. A coluna “id” mostra a CPU ociosa. Se você subtrair esse número de 100, obterá a porcentagem
de CPU em uso. Lembra-se do comando top descrito em outra parte desta série? Ele também mostra um número de porcentagem de CPU
http://www.oracle.com/technetwork/pt/articles/linux/part3-087826-ptb.html?printOnly=1 4/11
26/8/2014 Artigos: Linux - Guia para Domínio Avançado dos Comandos do Linux, Parte 3
livre. A diferença é: o top mostra essa porcentagem livre para cada CPU, enquanto o vmstat mostra a visualização consolidada para todas as
CPUs.
O comando vmstat também mostra a discriminação detalhada da utilização da CPU: quanto é usado pelo sistema Linux, quanto é usado por um
processo de usuário e quanto está em aguardo para I/O. Com base nessa discriminação, é possível determinar o que está contribuindo para o
consumo da CPU. Se a carga da CPU do sistema for alta, será que há algum processo raiz, como execução de backup?
A carga do sistema deve ser constante ao longo de um período de tempo. Se o sistema mostrar um número alto, use o comando top para
identificar o processo do sistema que está consumindo CPU.
Os bloqueios de I/O em um banco de dados Oracle podem causar sérios problemas. Além dos problemas de performance, o I/O lento pode
causar lentidão nas gravações do arquivo de controle, o que pode fazer com que um processo aguarde para adquirir um enqueue no arquivo de
controle. Se a espera for superior a 900 segundos, e o que está na espera for um processo crucial como o LGWR, ele derrubará a instância do
banco de dados.
Se você perceber que há muito swap, talvez o SGA esteja dimensionado grande demais para se ajustar à memória física. Você deve reduzir o
tamanho do SGA ou aumentar a memória física.
mpstat
Outro comando útil para obter estatísticas relacionadas a CPU é mpstat. A seguir está um exemplo de resultado:
# mpstat -P ALL 5 2
Linux 2.6.9-67.ELsmp (oraclerac1) 12/20/2008
10:42:38 PM CPU %user %nice %system %iowait %irq %soft %idle intr/s
10:42:43 PM all 6.89 0.00 44.76 0.10 0.10 0.10 48.05 1121.60
10:42:43 PM 0 9.20 0.00 49.00 0.00 0.00 0.20 41.60 413.00
10:42:43 PM 1 4.60 0.00 40.60 0.00 0.20 0.20 54.60 708.40
10:42:43 PM CPU %user %nice %system %iowait %irq %soft %idle intr/s
10:42:48 PM all 7.60 0.00 45.30 0.30 0.00 0.10 46.70 1195.01
10:42:48 PM 0 4.19 0.00 2.20 0.40 0.00 0.00 93.21 1034.53
10:42:48 PM 1 10.78 0.00 88.22 0.40 0.00 0.00 0.20 160.48
Average: CPU %user %nice %system %iowait %irq %soft %idle intr/s
Average: all 7.25 0.00 45.03 0.20 0.05 0.10 47.38 1158.34
Average: 0 6.69 0.00 25.57 0.20 0.00 0.10 67.43 724.08
Average: 1 7.69 0.00 64.44 0.20 0.10 0.10 27.37 434.17
O resultado mostra as várias estatísticas para as CPUs do sistema. As opções –P ALL direcionam o comando para exibir as estatísticas para
todas as CPUs, e não apenas uma específica. Os parâmetros 5 2 direcionam o comando para que seja executado a cada 5 segundos e por
duas vezes. O resultado anterior mostra as métricas para todas as CPUs primeiro (agregadas) e para cada CPU individualmente. Por último, a
média de todas as CPUs foi mostrada ao final.
%nice Indica a porcentagem da CPU quando um processo sofreu downgrade pelo comando
nice. O comando nice foi descrito em uma parte anterior desta série. Em resumo, ele
altera a prioridade de um processo.
%intr/s Mostra o número total de interrupções recebidas pela CPU por segundo.
Talvez você esteja se perguntando qual é a finalidade do comando mpstat se já há o vmstat, descrito anteriormente. Há uma enorme diferença:
o mpstat pode mostrar as estatísticas por processador, enquanto o vmstat mostra uma visualização consolidada de todos os processadores.
Assim, é possível que um aplicativo mal escrito que não usa arquitetura multithreaded seja executado em um computador com vários
processadores, mas não use todos. Consequentemente, uma CPU se sobrecarrega, enquanto as outras permanecem livres. Você pode
diagnosticar facilmente esses tipos de problemas com o mpstat.
http://www.oracle.com/technetwork/pt/articles/linux/part3-087826-ptb.html?printOnly=1 5/11
26/8/2014 Artigos: Linux - Guia para Domínio Avançado dos Comandos do Linux, Parte 3
De maneira semelhante ao vmstat, o comando mpstat também produz estatísticas relativas à CPU, portanto toda a discussão relacionada a
problemas de CPU aplica-se também ao mpstat. Quando você vê um baixo número %idle, sabe que há privação de CPU. Quando você vê um
número %iowait mais alto, sabe que há algum problema com o subsistema de I/O na carga atual. Essas informações são bastante oportunas
para resolver problemas na performance do banco de dados Oracle.
iostat
Uma parte crucial da avaliação de performance é a performance do disco. O comando iostat fornece as métricas de performance das interfaces
de armazenamento.
# iostat
Linux 2.6.9-55.0.9.ELlargesmp (prolin3) 12/27/2008
A parte inicial do resultado mostra métricas como CPU livre e esperas de I/O conforme se viu com o comando mpstat.
A parte seguinte do resultado mostra métricas muito importantes para cada um dos dispositivos de disco no sistema. Vamos ver o significado
dessas colunas:
Blk_read/s Quantidade de blocos lidos deste dispositivo por segundo. Os blocos normalmente
têm 512 bytes de tamanho. Esse é um valor melhor da utilização do disco.
Blk_read Quantidade de blocos lidos deste dispositivo até o momento. Atenção, pois isso não é
o que está acontecendo neste exato momento. Esses muitos blocos já foram lidos do
dispositivo. É possível que nada esteja sendo lido agora. Monitore este comando por
algum tempo para saber se houve alguma alteração.
Em um sistema com muitos dispositivos, o resultado pode ocupar várias telas – dificultando um pouco a investigação, principalmente se você
estiver procurando um dispositivo específico. Você pode obter as métricas de um dispositivo específico passando-o como um parâmetro.
# iostat sdaj
Linux 2.6.9-55.0.9.ELlargesmp (prolin3) 12/27/2008
As métricas de CPU mostradas no início podem não ser muito úteis. Para suprimir as estatísticas relacionadas à CPU mostradas no início do
resultado, use a opção -d.
Você pode colocar parâmetros opcionais no final para que o iostat exiba as estatísticas do dispositivo em intervalos regulares. Para obter as
estatísticas desse dispositivo a cada 5 segundos por 10 vezes, emita o seguinte código:
# iostat -d sdaj 5 10
You can display the stats in kilobytes instead of just bytes using
the -k option:
# iostat -k -d sdaj
Linux 2.6.9-55.0.9.ELlargesmp (prolin3) 12/27/2008
Apesar de o resultado acima ter sua utilidade, há muitas informações não exibidas imediatamente. Por exemplo, uma das principais causas
dos problemas de disco é o tempo de serviço de disco, ou seja, a velocidade com que o disco obtém os dados para o processo que os está
solicitando. Para obter esse nível de métricas, é preciso obter as estatísticas “estendidas” sobre o disco, usando a opção -x.
# iostat -x sdaj
Linux 2.6.9-55.0.9.ELlargesmp (prolin3) 12/27/2008
http://www.oracle.com/technetwork/pt/articles/linux/part3-087826-ptb.html?printOnly=1 6/11
26/8/2014 Artigos: Linux - Guia para Domínio Avançado dos Comandos do Linux, Parte 3
Device: wkB/s avgrq-sz avgqu-sz await svctm %util
sadj 5.32 27.01 0.01 6.26 6.00 0.95
r/s A quantidade de solicitações de leitura por segundo emitidas para este dispositivo.
rkB/s Dados lidos por segundo deste dispositivo, em kilobytes por segundo.
await Tempo decorrido médio (em milissegundos) do dispositivo para solicitações de I/O. É a
soma do tempo de serviço e do tempo de espera na fila.
Bem, até agora foram dadas muitas informações e elas podem representar um desafio em relação a como usá-las com eficácia. A próxima
seção mostra como usar o resultado.
Isso mostra que o sdat do disco tem o maior tempo de serviço (64,05 ms). Por que o valor é tão alto? As possibilidades seriam inúmeras, mas
as mais prováveis são:
O disco recebe muitas solicitações, por isso o tempo de serviço médio tem valor alto.
O disco está sendo utilizado com a máxima largura de banda possível.
O disco é inerentemente lento.
Observando o resultado, percebemos que as leituras/segundo e as gravações/segundo são 0.00 (praticamente nada está acontecendo), por
isso podemos excluir a possibilidade nº 1. A utilização também é 0.00% (última coluna), portanto a possibilidade nº 2 também está fora. Sobra a
possibilidade nº 3. Entretanto, antes de tirarmos uma conclusão de que o disco é inerentemente lento, precisamos observar um pouco mais
atentamente o disco. Podemos examiná-lo sozinho a cada 5 segundos por 10 vezes.
# iostat -x sdat 5 10
Se o resultado mostrar o mesmo tempo de serviço médio, índice de leituras e utilização, poderemos concluir que a possibilidade nº 3 é o fator
mais provável. Se esses aspectos mudarem, poderemos obter outras pistas para entender por que o tempo de serviço tem valor alto para este
dispositivo.
De maneira semelhante, você pode classificar na coluna de índice de leituras para exibir o disco sob índices de leituras constantes.
As informações ajudam a localizar um disco que está “dinâmico” – ou seja, sujeito a inúmeras leituras ou gravações. Se o disco realmente
estiver dinâmico, você deverá identificar o motivo disso; talvez um sistema de arquivos definido no disco esteja sujeito a inúmeras leituras. Se
esse for o caso, você deverá considerar a execução de striping do sistema de arquivos em muitos discos para distribuir a carga, minimizando a
possibilidade de que um disco específico fique dinâmico.
sar
http://www.oracle.com/technetwork/pt/articles/linux/part3-087826-ptb.html?printOnly=1 7/11
26/8/2014 Artigos: Linux - Guia para Domínio Avançado dos Comandos do Linux, Parte 3
Com base nas discussões anteriores, surge uma questão em comum: obter as métricas em tempo real não é o único ponto importante; a
tendência histórica é igualmente importante.
Além disso, considere esta situação: quantas vezes alguém relata um problema de performance, mas quando paramos para investigá-lo, tudo
está normal? Problemas de performance que ocorreram no passado são de difícil diagnóstico sem dados específicos a partir dessa época. Por
fim, você vai querer examinar os dados de performance dos últimos dias para decidir sobre algumas configurações ou fazer ajustes.
O utilitário sar realiza essa meta. O sar é um acrônimo de System Activity Recorder, que grava as métricas dos principais componentes do
sistema Linux – CPU, memória, discos, rede etc. – em um lugar especial: o diretório /var/log/sa. Os dados são gravados para cada dia em um
arquivo chamado sa<nn>, onde <nn> é o dia do mês com dois dígitos. Por exemplo, o arquivo sa27 guarda os dados do dia 27 desse mês.
Esses dados podem ser consultados pelo comando sar.
A maneira mais simples de usar o sar é sem nenhum argumento ou opção. A seguir está um exemplo:
# sar
Linux 2.6.9-55.0.9.ELlargesmp (prolin3) 12/27/2008
%user A porcentagem de CPU usada para processos do usuário. Os processos Oracle entram
nesta categoria.
Com base no resultado anterior, você pode ver que o sistema está bem equilibrado; aliás, bastante subutilizado (conforme visto pelo alto nível
de número ocioso da porcentagem). Prosseguindo pelo resultado, vemos:
Isso indica uma situação diferente: o sistema foi carregado por alguns processos do usuário entre 3:00 e 3:40. Talvez uma consulta cara
estivesse em execução; ou talvez um trabalho de RMAN estivesse em execução, consumindo toda essa CPU. É nessa hora que o comando sar
é útil – ele reproduz os dados gravados mostrando os dados a partir de uma determinada hora, e não a partir de agora. Isso é exatamente o que
você queria para realizar os três objetivos descritos no início desta seção: obter dados históricos, encontrar padrões de uso e entender as
tendências.
Para ver os dados sar de um dia específico, basta abrir o sar com esse nome de arquivo, usando a opção -f conforme mostrado abaixo (para
abrir os dados do dia 26)
# sar -f /var/log/sa/sa26
O resultado também pode exibir dados em tempo real, de maneira semelhante a vmstat ou mpstat.
# sar 5 10
Linux 2.6.9-55.0.9.ELlargesmp (prolin3) 12/27/2008
#sar -P ALL 2 2
Linux 2.6.9-55.0.9.ELlargesmp (prolin3) 12/27/2008
http://www.oracle.com/technetwork/pt/articles/linux/part3-087826-ptb.html?printOnly=1 8/11
26/8/2014 Artigos: Linux - Guia para Domínio Avançado dos Comandos do Linux, Parte 3
01:45:16 PM 2 13.50 0.00 19.00 0.00 67.50
01:45:16 PM 3 0.00 0.00 0.00 0.00 100.00
O resultado mostra o identificador de CPU (a partir de 0) e as estatísticas para cada um. Bem no final do resultado, você verá a média de
execuções com base em cada CPU.
O comando sar não serve apenas para estatísticas relacionadas à CPU. Ele é útil para obter as estatísticas relacionadas à memória também. A
opção -r mostra a utilização de memória extensiva.
# sar -r
Linux 2.6.9-55.0.9.ELlargesmp (prolin3) 12/27/2008
Bem no final do resultado, você verá o número médio para o período de tempo.
Você também pode obter estatísticas relacionadas à memória. A opção -B mostra a atividade relacionada à paginação.
# sar -B
Linux 2.6.9-55.0.9.ELlargesmp (prolin3) 12/27/2008
Para obter um resultado semelhante para atividades relacionadas a swap, você pode usar a opção -W.
# sar -W
Linux 2.6.9-55.0.9.ELlargesmp (prolin3) 12/27/2008
http://www.oracle.com/technetwork/pt/articles/linux/part3-087826-ptb.html?printOnly=1 9/11
26/8/2014 Artigos: Linux - Guia para Domínio Avançado dos Comandos do Linux, Parte 3
... and so on ...
As colunas provavelmente são autoexplicativas, mas a seguir está a descrição de cada uma:
pswpin/s Páginas de memória com swap de volta do disco para a memória, por segundo.
pswpout/s Páginas de memória com swap de volta da memória para o disco, por segundo.
Se você perceber muito swap, poderá estar com a memória baixa. Não se trata de uma conclusão inevitável, mas sim de uma forte
possibilidade.
# sar -d
Linux 2.6.9-55.0.9.ELlargesmp (prolin3) 12/27/2008
A seguir está a descrição das colunas. Recapitulando, elas mostram as métricas nessa hora.
tps Transferências por segundo. Transferências são operações de I/O. Observação: trata-se
apenas de quantidade de operações; cada operação pode ser grande ou pequena.
Assim, este parâmetro, por si só, não informa todos os aspectos.
Em resumo, você tem estas opções para o comando sar obter as métricas dos componentes:
-P CPU(s) específica(s)
-d Discos
-r Memória
-B Paginação
-W Swap
-n Rede
E se você quiser obter todas as estatísticas disponíveis em um único resultado? Em vez de chamar sar com todas essas opções, você pode
usar a opção -A que mostra todas as estatísticas armazenadas nos arquivos sar.
Conclusão
Em resumo, usando esse conjunto limitado de comandos, você pode lidar com a maioria das tarefas envolvidas no gerenciamento de recursos
em um ambiente Linux. Recomendo treinar esses comandos em seu ambiente para se familiarizar com eles, juntamente com as opções
descritas neste artigo.
Nas próximas partes desta série, você aprenderá a monitorar e gerenciar a rede. Também aprenderá vários comandos que ajudam a gerenciar
um ambiente Linux: descobrir quem fez login, definir perfis de shell, fazer backup usando cpio e tar e assim por diante.
Leituras Adicionais
Guia para domínio avançado dos comandos do Linux, parte 1
Guia para domínio avançado dos comandos do Linux, parte 2
Arup Nanda ( arup@proligence.com), é exclusivamente DBA Oracle há mais de 12 anos, com experiência em todas as áreas da tecnologia do
http://www.oracle.com/technetwork/pt/articles/linux/part3-087826-ptb.html?printOnly=1 10/11
26/8/2014 Artigos: Linux - Guia para Domínio Avançado dos Comandos do Linux, Parte 3
Banco de Dados Oracle, tendo sido nomeado "DBA do Ano" pela Oracle Magazine em 2003. Arup é palestrante frequente e redator em eventos e
diários relacionados à Oracle, além de Director Oracle ACE.
http://www.oracle.com/technetwork/pt/articles/linux/part3-087826-ptb.html?printOnly=1 11/11