Seu computador Linux ou macOS está usando memória virtual. Descubra como isso está afetando o uso de memória física, CPU e recursos do disco rígido pelo sistema.
Índice
Seu computador está equipado com uma quantidade finita de memória física chamada memória de acesso aleatório (RAM). Essa RAM precisa ser gerenciada pelo kernel e compartilhada entre o sistema operacional e quaisquer aplicativos que estejam em execução. Se essas demandas combinadas estão exigindo mais memória do que a fisicamente instalada em seu computador, o que o kernel pode fazer?
Linux e sistemas operacionais semelhantes ao Unix, como o macOS, podem usar espaço no disco rígido para ajudá-los a gerenciar as demandas de memória. Uma área reservada de espaço no 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 de 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 na RAM quando necessário.
Obviamente, a velocidade de acesso à memória paginada é mais lenta do que a da memória retida na RAM. E essa não é a única compensação. Embora a memória virtual forneça uma maneira para o Linux gerenciar suas demandas de memória, o uso da memória virtual aumenta a carga de trabalho em outras partes do computador.
Seu disco rígido deve realizar mais leituras e gravações. O kernel – e, portanto, a CPU – deve trabalhar mais à medida que troca 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 fornece uma maneira de monitorar toda essa atividade na forma do vmstat
comando, que relata as estatísticas da memória virtual .
Se você digitar vmstat
como um comando sem parâmetros, ele mostrará um conjunto de valores. Esses valores são as médias de cada uma das estatísticas desde a última reinicialização do computador. Esses números não são um instantâneo dos valores “agora”.
vmstat
Uma pequena tabela de valores é exibida.
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
Memória
Troca
IO
Sistema
CPU
Todos esses valores são porcentagens do tempo total da CPU.
Podemos vmstat
fornecer atualizações regulares para esses números usando um delay
valor. O delay
valor é fornecido em segundos. Para que as estatísticas sejam atualizadas a cada cinco segundos, usaríamos o seguinte comando:
vmstat 5
A cada cinco segundos vmstat
adicionará outra linha de dados à tabela. Você precisará pressionar Ctrl + C para parar isso.
Usar um delay
valor muito baixo colocará pressão adicional em seu sistema. Se você precisar de atualizações rápidas para tentar diagnosticar um problema, é recomendável usar um count
valor, bem como um delay
valor.
O count
valor informa vmstat
quantas atualizações devem ser executadas antes de sair e retorna ao prompt de comando. Se você não fornecer um count
valor, o vmstat
será executado até ser interrompido por Ctrl + C.
Para vmstat
fornecer uma atualização a cada cinco segundos, mas apenas para quatro atualizações, use o seguinte comando:
vmstat 5 4
Depois de quatro atualizações vmstat
para por conta própria.
Você pode optar por ter a memória e as estatísticas de troca exibidas em kilobytes ou megabytes usando a opção -S
(caractere de unidade). Isto deve ser seguido por um de k
, K
, m
, ou M
. Estes representam:
Para que as estatísticas sejam 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 agora são mostradas em megabytes. Observe que a -S
opção não afeta as estatísticas do bloco IO. Eles são sempre exibidos em blocos.
Se você usar a -a
opção (ativo), as colunas de memória buff e cache são substituídas pelas colunas “inativo” e “ativo”. Como eles sugeriam, eles mostram a quantidade de memória ativa e inativa.
Para ver essas duas colunas em vez das colunas de buff e cache, inclua a -a
opção, conforme mostrado:
vmstat 5 -a -SM
As colunas inativas e ativas são afetadas pela opção -S (caractere de unidade).
A -f
opção exibe o número de bifurcações ocorridas desde que o computador foi inicializado.
Em outras palavras, isso mostra o número de tarefas que foram iniciadas (e, na maioria delas, fechadas novamente) desde que o sistema foi inicializado. Cada processo iniciado na linha de comando aumentaria esse número. Cada vez que uma tarefa ou processo gera ou clona uma nova tarefa, esse número aumentará.
vmstat -f
O visor dos garfos não é atualizado.
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 memória continuamente para os muitos tipos diferentes de objetos de dados que ele deve manipular. Para tornar isso o mais eficiente possível, ele usa um sistema chamado lajes. Esta é uma forma de armazenamento em cache.
A 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 realocada. Pense nas placas como segmentos de RAM pré-alocados e feitos sob medida para as necessidades do próprio kernel.
Para ver as estatísticas das lajes, use a -m
opção (lajes). Você precisará usar sudo
e será solicitada sua senha. Como a saída pode ser bastante longa, estamos canalizando-a less
.
sudo vmstat -m | Menos
A saída possui cinco colunas. Esses são:
Pressione q
para sair less
.
Para exibir uma página de contadores de eventos e estatísticas de memória, use a -s
opção (estatísticas). Observe que é um “s” minúsculo.
vmstat -s
Embora as estatísticas relatadas sejam basicamente as mesmas que as informações que constituem a vmstat
saída padrão , algumas delas são divididas em mais detalhes.
Por exemplo, a saída padrão combina o tempo de CPU do usuário agradável e não agradável na coluna “us”. A exibição -s (estatísticas) lista essas estatísticas separadamente.
Você pode obter uma lista semelhante de estatísticas de disco usando a -d
opção (disco).
vmstat -d | Menos
Para cada disco, três colunas são exibidas: Leituras, Gravações e E / S.
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ê
escreve
IO
Para ver uma exibição rápida das estatísticas resumidas da atividade do disco, use a opção -D
(soma do disco). Observe o “D” maiúsculo.
vmstat -D
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, um squashfs
pseudo-sistema de arquivos é criado e anexado a um dispositivo / dev / loop.
Infelizmente, essas entradas de dispositivo são contadas como dispositivos de disco rígido por muitos dos comandos e utilitários do Linux.
Para ver as estatísticas relacionadas a uma partição específica, use a -p
opção (partição) e forneça o identificador da partição como um parâmetro de linha de comando.
Aqui, veremos 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.
vmstat -p sda1
As informações retornadas mostram a contagem total de leituras e gravações de disco de e para essa partição, e o número de setores incluídos nas ações de leitura e gravação de disco.
É sempre bom saber como levantar o capô e ver o que está acontecendo por baixo. Às vezes, você tentará resolver um problema, às vezes não será do seu interesse porque deseja saber como o seu computador funciona.
vmstat
pode fornecer uma tonelada de informações úteis. Agora você sabe como acessá-lo e o que significa. E avisado vale por dois – quando você precisar arregaçar as mangas e fazer alguns diagnósticos, saberá que está vmstat
do seu lado.
Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…
Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…
A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…
A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…
O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…
Para ver suas fotos mais de perto ou para uma edição precisa , você pode…