Detecte o hardware usando DMIDecode
A detecção automática de hardware sempre foi um pouco como uma loteria, mas ficou melhor nos últimos anos, pois muitos fabricantes documentam seus produtos com mais detalhes e têm informações específicas disponíveis online. Para descobrir as informações de hardware sobre a RAM instalada em sua máquina, use o DMIDECODE
Command (pacote para Debian GNU/Linux, Ubuntu e Linux Mint: DMIDecode).
Entre outras informações, esta ferramenta relata dados detalhados sobre os componentes do sistema instalados como processador, rodapé e RAM. As informações são baseadas na interface de gerenciamento de desktop (DMI) [1], que é uma estrutura que classifica os componentes únicos em uma área de trabalho, notebook ou servidor, abstraindo esses componentes do software que os gerencia [2]. A opção --Digite memória
refere -se aos dispositivos de memória. Para outras aulas de DMI, dê uma olhada na página manual de DMIDECODE.
Atualmente, esta máquina está equipada com 8G DDR3 RAM com uma velocidade de relógio configurada de 1600 MHz. Como você pode ver, a capacidade máxima disponível da RAM a bordo é 16G, o que significa que pode ser estendido por um segundo módulo 8G.
Informações gráficas sobre memória
Caso você prefira uma interface gráfica para recuperar essas informações, as ferramentas hardinfo [3] e o hardware lister (versão gtk+) [4] podem ser de interesse para você. No Debian GNU/Linux, Ubuntu e Linux Mint, esses programas estão disponíveis através dos pacotes Hardinfo e LSHW-GTK. A Figura 2 mostra a interface do usuário do Hardinfo exibindo as informações de memória em uma instalação do Xubuntu.
Quanta memória está disponível atualmente
As vezes menos é mais. Na linha de comando, as informações sobre a memória estão disponíveis através do livre
comando. No Debian GNU/Linux, Ubuntu e Linux Mint, este programa faz parte do pacote PROCPS [5]. A Figura 2 mostra a saída em uma janela de terminal.
Como uma seleção das opções adicionais, livre
aceita vários parâmetros como:
-b (-bytes):
Mostre a saída como bytes-K (--kilo):
Mostre a produção como Kilobytes-m (--mega):
Mostre a saída como megabytes-G (--giga):
Mostre a saída como gigabytes--Tera:
Mostre a saída como terabytes-H (-humano):
Mostre a saída em formato legível pelo homemNa Figura 3, a saída é mostrada em megabytes usando a opção -m. O sistema possui 4g de RAM, enquanto 725m estão atualmente em uso.
Informações de memória do ponto de vista do kernel Linux
As ferramentas mencionadas acima dependem de informações brutas que são mantidas no sistema de arquivos PROC do kernel Linux. Para mostrar esses detalhes, emitir o conteúdo do arquivo /proc/meminfo
usando o gato
utilidade em um terminal:
Para obter mais informações estatísticas sobre o uso, memória e processos da CPU, você pode dar uma olhada nas ferramentas vmstat
, e iostat
(Pacotes Debian Procps e Sysstat).
Trabalhando com processos - PS, HTOP e PSTree
Para mostrar os processos ativos do seu sistema Linux, use o ps
comando. Geralmente, a saída é classificada em ordem alfabética. Mas o ps
O comando pode fazer muito mais. Usando as opções auxiliares --classificar -rs
A saída da lista de processos é classificada pelo uso de memória em uma ordem de cima para baixo. A Figura 4 mostra os processos que têm a maior demanda na memória. A saída é classificada pela 6ª coluna intitulada RSS, que abrevia o tamanho do conjunto de residentes. O valor é dado em Kilobytes.
Os comandos PS, PSTEE
e htop
estão intimamente relacionados em termos das informações que essas ferramentas exibem. Ambos PSTEE
e htop
exibir um gráfico para visualizar as dependências do processo. htop
Atua como uma versão interativa que permite rolar a lista de processos para cima e para baixo. A Figura 5 mostra htop
Em um sistema de desktop com uma seleção de processos classificados pelo uso específico da memória (5ª coluna).
Encontrar processos que usam memória de troca
Quanto mais processos forem lançados, mais memória estiver em uso ao mesmo tempo. Assim que seu sistema Linux ficar sem páginas de memória não utilizadas, o kernel Linux decide trocar as páginas de memória para disco usando o método menos recentemente usado (LRU). Para responder à pergunta, quais processos usam a memória de troca e quanto é usado em particular, você pode dar uma olhada na saída do programa superior. Em 2016, Erik Ljungstrom publicou uma breve descrição de como recuperar essas informações e estender esta coluna para a saída do topo [6]. A Figura 6 mostra essa saída em um sistema que tem muitas páginas de memória na RAM à esquerda e não usa troca, atualmente.
Além disso, em 2011, ele já publicou um script bash que avalia as informações do sistema de arquivos PROC para exibir o uso do processo de troca por processo [7]. Mesmo 7 anos depois e já descrito como obsoleto, o script ainda é excelente e mostra como automatizar tarefas em um sistema Linux. É por isso que temos certeza de que é útil mostrá -lo aqui mais uma vez.
A saída do script é a seguinte (execute como raiz
Usuário a recuperar os dados completos):
Conclusão
A caixa de ferramentas Linux contém uma lista infinita de programas disponíveis para ajudá -lo a analisar o uso de memória do seu sistema Linux. Acabamos de dar uma olhada curta - de dados brutos a informações pré -processadas - tudo isso está lá. Apenas conheça suas ferramentas. Para se familiarizar com eles, demore um pouco e brinque com eles.
Esta é a Parte 2 da série no Linux Kernel Memory Management. A parte 1 discute a memória de troca, na parte três desta série, discutiremos como otimizar o uso da memória. Isso incluirá o gerenciamento de ramdisks, bem como arquivos de troca compactados.
O autor gostaria de agradecer a Mandy Neumeyer e Gerold Ruprecht pelo apoio ao preparar este artigo.