Como usar o comando vmstat no Linux
Seu computador Linux ou MacOS está usando a memória virtual. Descubra como isso afeta o uso que o sistema faz da memória física, da CPU e dos recursos do disco rígido.
É a memória virtual?
Seu computador é equipado com uma quantidade finita de memória física chamada de memória de acesso aleatório (RAM). Essa RAM precisa ser gerenciada pelo kernel e compartilhada entre o sistema operacional e qualquer aplicativo que esteja em execução. Se essas demandas combinadas estão pedindo mais memória do que o fisicamente instalado em seu computador, o que o kernel pode fazer?
Sistemas operacionais Linux e Unix, como o macOS, podem usar espaço no disco rígido para ajudá-los gerenciar demandas de memória. Uma área reservada do espaço do disco rígido chamada "espaço de troca" pode ser usada como se fosse uma extensão da RAM. Esta é a memória virtual.
O kernel do Linux pode gravar o conteúdo de um bloco de memória no espaço de troca e liberar essa região da RAM para uso por outro processo. A memória trocada - também chamada de “paginada” - pode ser recuperada do espaço de troca e restaurada para a RAM quando é necessária.
É claro que a velocidade de acesso para memória paginada é mais lenta do que aquela. de memória mantida na RAM. E esse não é o único compromisso. Embora a memória virtual forneça uma maneira de o Linux gerenciar suas demandas de memória, o uso da memória virtual aumenta o peso em outras partes do computador.
Seu disco rígido precisa executar mais leituras e gravações. O kernel - e, portanto, a CPU - precisa fazer mais trabalho enquanto desliga a memória, troca a memória e mantém todas as placas girando para satisfazer as necessidades de memória dos diferentes processos.
O Linux oferece um caminho para você monitorar toda essa atividade no formato do comando vmstat, que relata as estatísticas da memória virtual.
O comando vmstat
Se você digitar vmstat como um comando sem parâmetros , mostrará um conjunto de valores. Esses valores são as médias de cada uma das estatísticas desde que seu computador foi reinicializado pela última vez. Esses números não são um instantâneo dos valores "agora".
[PRÉ] vmstat
Uma pequena tabela de valores é exibida. p>
Existem colunas intituladas Procs, Memory, Swap, IO, System e CPU. A coluna final (coluna mais à direita) contém os dados relativos à CPU.
Aqui está uma lista dos itens de dados em cada coluna.
Proc
- r: o número de processos executáveis. Estes são processos que foram iniciados e estão em execução ou estão aguardando a próxima explosão de ciclos de CPU em intervalos de tempo.
- b: O número de processos em suspensão ininterrupta. O processo não está inativo, ele está executando uma chamada do sistema de bloqueio e não pode ser interrompido até que tenha concluído sua ação atual. Normalmente, o processo é um driver de dispositivo aguardando algum recurso ser liberado. Todas as interrupções enfileiradas para esse processo são tratadas quando o processo retoma sua atividade habitual.
Memória
- swpd: a quantidade de memória virtual usada. Em outras palavras, quanta memória foi trocada.,
- livre: a quantidade de memória ociosa (atualmente não usada).
- buff: a quantidade de memória usada como buffers. / li>
- cache: a quantidade de memória usada como cache.
Trocar
- si: Quantidade de memória virtual trocada do espaço de troca.
- so: Quantidade de memória virtual trocada por espaço de troca.
IO
- bi: Blocos recebidos de um dispositivo de bloco. O número de blocos de dados usados para trocar a memória virtual de volta para a RAM.
- bo: Blocos enviados para um dispositivo de bloco. O número de blocos de dados usados para trocar memória virtual da memória RAM para o espaço de troca.
Sistema
- in: O número de interrupções por segundo, incluindo o relógio.
- cs: o número de opções de contexto por segundo. Uma alternância de contexto ocorre quando o kernel troca do processamento do modo do sistema para o processamento no modo de usuário.
CPU
Esses valores são todos percentuais do tempo total da CPU. >
- us: Tempo gasto executando código não kernel. Ou seja, quanto tempo é gasto no processamento do tempo do usuário e no processamento de um bom tempo.
- sy: Tempo gasto na execução do código do kernel.
- id: Tempo gasto ocioso.
- wa: Tempo gasto aguardando entrada ou saída.
- st: Tempo roubado de uma máquina virtual. Este é o tempo que uma máquina virtual precisa aguardar até que o hipervisor conclua a manutenção de outras máquinas virtuais antes que possa voltar e atender a essa máquina virtual.
Usando um intervalo de tempo
Podemos fazer com que o vmstat forneça atualizações regulares para esses números usando um valor de atraso. O valor de atraso é fornecido em segundos. Para que as estatísticas sejam atualizadas a cada cinco segundos, usamos o seguinte comando:
vmstat 5
IMAGEM_4
A cada cinco segundos, o vmstat adicionará outra linha de dados para a tabela. Você precisará pressionar Ctrl + C para parar isso.
Usando um valor de contagem
Usar um valor de atraso muito baixo causará sobrecarga adicional Seu sistema. Se você precisar de atualizações rápidas para tentar diagnosticar um problema, é recomendável usar um valor de contagem e um valor de atraso.
O valor da contagem informa ao vmstat quantas atualizações devem ser executadas antes de sair. e retorna para o prompt de comando. Se você não fornecer um valor de contagem, o vmstat será executado até ser interrompido por Ctrl + C.
Para que o vmstat forneça uma atualização a cada cinco segundos, mas apenas para quatro atualizações, use o seguinte comando: / p>
vmstat 5 4
IMAGEM_6
Após quatro atualizações, o vmstat para por sua conta.
Alterando as Unidades
Você pode optar por exibir as estatísticas de memória e troca em kilobytes ou megabytes usando a opção -S (unit-character). Isso deve ser seguido por um dos k, K, m ou M. Eles representam:
- k: 1000 bytes
- K: 1024 bytes
- m: 1000000 bytes
- M: 1048576 bytes
Para ter as estatísticas atualizadas a cada 10 segundos com as estatísticas de memória e troca exibidas em megabytes, use o seguinte comando:
vmstat 10 -SM
As estatísticas de memória e troca são mostradas em megabytes. Observe que a opção -S não afeta as estatísticas do bloco de E / S. Elas são sempre exibidas em blocos.
Memória Inativa e Ativa
Se você usar a opção -a (ativa), as colunas buff e de memória cache serão substituído pelas colunas "inactivas" e "activas". Como eles sugerem, eles mostram a quantidade de memória inativa e ativa.
Para ver essas duas colunas em vez das colunas buff e cache, inclua a opção -a, conforme mostrado:
vmstat 5 -a -SM
IMAGEM_10
As colunas inativas e ativas são afetadas pela opção -S (caractere unitário).
Forks
A opção -f exibe o número de garfos que aconteceram desde que o computador foi inicializado.
Em outras palavras, isso mostra o número de tarefas que foram lançadas (e, para a maior parte delas, fechadas novamente) desde que o sistema foi inicializado. Todo processo iniciado a partir da linha de comando aumentaria esse número. Cada vez que uma tarefa ou processo gerar ou clonar uma nova tarefa, esse número aumentará.
vmstat -f
IMAGEM_12
A exibição de garfos não não atualizar.
Exibindo Slabinfo
O kernel tem seu próprio gerenciamento de memória para se preocupar, bem como o gerenciamento de memória para o sistema operacional e todos os aplicativos. < Como você pode imaginar, o kernel está alocando e desalocando a memória repetidamente para os muitos tipos diferentes de objeto de dados que deve manipular. Para tornar isso o mais eficiente possível, ele usa um sistema chamado de placas. Essa é uma forma de armazenamento em cache.
Memória alocada, usada e não mais necessária para um tipo específico de objeto de dados do kernel pode ser reutilizada para outro objeto de dados do mesmo tipo sem que a memória seja desalocada e realocado. Pense em blocos como pré-alocados, feitos sob medida, segmentos de RAM para as próprias necessidades do kernel.
Para ver as estatísticas das placas, use a opção -m (slabs). Você precisará usar o sudo, e sua senha será solicitada. Como a saída pode ser bastante longa, estamos passando menos.
sudo vmstat -m | less
A saída tem cinco colunas. Estes são:
- Cache: nome do cache.
- num: o número de objetos atualmente ativos nesse cache.
- total: o total número de objetos disponíveis nesse cache.
- size: o tamanho de cada objeto no cache.
- pages: o número total de páginas de memória que possuem (pelo menos) um objeto no momento associado a este cache.
IMAGEM_14
Pressione q para deixar menos.
Exibindo contadores de eventos e estatísticas de memória
Para exibir uma página de contadores de eventos e estatísticas de memória, use a opção -s (stats). Observe que é um "s" em minúsculas.
vmstat -s
Embora as estatísticas relatadas sejam basicamente as mesmas que as que compõem a saída padrão do vmstat, algumas delas são divididas em mais detalhes.
Por exemplo, a saída padrão combina o tempo agradável e não agradável da CPU do usuário na coluna "us". A exibição -s (stats) lista essas estatísticas separadamente.
Exibindo estatísticas do disco
Você pode obter uma listagem semelhante de estatísticas de disco usando o -d Opção (disco).
vmstat -d | less
Para cada disco, três colunas são exibidas, elas são Reads, Writes e IO.
é a coluna mais à direita. Observe que a coluna sec em IO é medida em segundos, mas as estatísticas baseadas em tempo nas colunas de leitura e gravação são medidas em milissegundos.
Isso é o que as colunas significam:
Lê
- total: a contagem total de leituras de disco.
- mesclada: a contagem total de leituras agrupadas.
- setores: A contagem total de setores que foram lidos.
- ms: Contagem total de tempo em milissegundos que foram usados para ler dados do disco.
escreve
- total: A contagem total de gravações em disco.
- mescladas: A contagem total de gravações agrupadas.
- setores: A contagem total de setores gravados em .
- ms = Contagem total de tempo em milissegundos que foram usados para gravar dados no disco.
E / S
- cur: Number de leituras ou gravações de disco atuais.
- sec: Tempo gasto em segundos para qualquer leitura ou gravação em andamento.
Exibindo estatísticas de disco de resumo
Para ver rapidamente as estatísticas de resumo do seu dis k atividade, use a opção -D (soma do disco). Observe a maiúscula “D”.
vmstat -D
IMAGEM_20
O número de discos pode parecer anormalmente alto. O computador usado para pesquisar este artigo está executando o Ubuntu. Com o Ubuntu, cada vez que você instala um aplicativo de um Snap, é criado um pseudo sistema de arquivos que é anexado a um dispositivo / dev / loop.
Irritantemente essas entradas de dispositivo são contadas como dispositivos de disco rígido por muitos dos comandos e utilitários do Linux.
Exibindo Estatísticas de Partição
Para ver estatísticas relacionadas a uma partição específica, use a opção -p (partição) e forneça o identificador de partição como um parâmetro de linha de comando.
Aqui vamos ver a partição sda1. O dígito um indica que esta é a primeira partição no dispositivo sda, que é o disco rígido principal deste computador.
[PRÉ] vmstat -p sda1
As informações retornadas mostram a contagem total de leituras de disco e gravações em disco de e para essa partição e o número de setores incluídos nas ações de leitura de disco e de gravação em disco.
Uma espiada sob o capô
É sempre bom saber como levantar o capô e ver o que está acontecendo embaixo. Às vezes você estará tentando resolver problemas, às vezes, será de interesse, porque você quer saber como seu computador funciona.
O vmstat pode fornecer uma tonelada de informações úteis. Agora você sabe como acessá-lo e o que isso significa. E o aviso antecipado é preparado - quando você precisa arregaçar as mangas e fazer alguns diagnósticos, você saberá que tem o seu lado direito.
LEIA PRÓXIMO & rsaquo; Como digitalizar (ou redigitalizar) para canais na sua TV & rsaquo; Por que as campainhas de vídeo são o melhor gadget da Smarthome e rsaquo; Como denunciar sites de phishing e sites mal-intencionados no Google Chrome & rsaquo; Como pesquisar todos os arquivos do seu PC no menu Iniciar do Windows 10 & rsaquo; Como manter seu Mac e aplicativos atualizados
Via: How to Geek
Nenhum comentário