Como usar o comando PMAP Linux para verificar o uso da memória

Como usar o comando PMAP Linux para verificar o uso da memória
“No Linux, o comando PMAP ajuda a relatar o uso de memória de um único processo ou vários processos usando seu PID. Quando usado, o PMAP transmite os detalhes de uso da memória, como o espaço de endereço do espaço de memória compartilhado e as permissões.

Os processos em execução em um sistema operacional são alocados para diferentes regiões que utilizam um espaço de memória virtual mapeado para a memória física em uma camada de abstração. O kernel preserva assim uma tabela de tradução destacando cada processo, e quaisquer alterações feitas são atualizadas na tabela de tradução. O comando PMAP é necessário para acessar esse espaço de memória usado por cada processo e, neste guia, você aprenderá como usar o comando pmap para visualizar o uso da memória por um processo.”

Como usar o PMAP

A sintaxe para usar o PMAP é:

PMAP [Opções] PID […]

Portanto, a primeira coisa a fazer é obter o ID do processo de um processo específico, e existem maneiras diferentes de obter o PID. Para obter rapidamente o PID de um processo, use o PS aux e depois grep o nome do processo ou use a opção PIDOF.

Por exemplo, para obter o PID do processo Bash:

1. Usando PS Aux

$ ps aux | BASH GREP

2. Usando pidof

$ PIDOF BASH

Usando

PMAP para obter o uso da memória de um único processo

Agora que você tem o PID do seu processo de destino, você pode verificar o uso da memória usando o comando abaixo.

$ PMAP 4959

A saída será:

A partir da saída, você pode ver que a primeira linha destaca o nome do processo, neste caso, Bash e seu ID do processo. As próximas linhas começam com o endereço de memória mapeado, seguido pelo tamanho da memória do endereço de memória específico em Kilobytes.

Os outros personagens representam as permissões da memória virtual, analisadas abaixo.

r: implica que o processo pode ler a memória mapeada.

c: implica que o processo pode escrever na memória mapeada.

x: implica que o processo pode executar instruções na memória mapeada.

Usando o PMAP para obter o uso da memória de vários processos

O comando PMAP é usado com vários PIDs separados por um espaço para obter seu uso de memória. Por exemplo, se você tiver Pids 1818, 1741 e 4959, o comando será:

$ PMAP 1818 1741 4959

A saída é semelhante a um único processo, exceto que o uso da memória será separado por cada processo, como mostrado abaixo.


Para a saída do próximo processo:

Obtendo uma saída PMAP estendida

Para obter um formato estendido do uso da memória, adicione -x ao comando PMAP, como no exemplo abaixo.

$ PMAP -X 4959

A saída estendida do comando será:

Você notará que alguns campos extras são exibidos com a saída estendida. Cada um dos campos representa informações de uso de memória diferentes.

Endereço: Representa o endereço inicial do mapeamento.

Kbytes: Este é o tamanho do espaço de memória virtual.

RSS: Este é o tamanho do conjunto residente representado em Kilobytes.

Sujo: as páginas sujas compartilhadas e privadas expressas em Kilobytes.

Modo: as permissões do mapa.

Mapeamento: este é o arquivo que apóia o mapa e pode ser '[Stack]' ou '[anon]'.

PMAP Mostrar formato de dispositivo

A opção -d, quando usada com PMAP, produz o formato do dispositivo associado ao processo específico.

$ PMAP -D 4959

Mais dois campos são adicionados à saída.

Desvio: Representa o deslocamento do arquivo se a memória for baseada em arquivo.

Dispositivo: o formato do dispositivo.

PMAP exibe tudo

A opção -x exibe a saída estendida. No entanto, você pode mostrar tudo o que o kernel pode obter sobre o uso da memória de um processo adicionando a opção -x.

$ PMAP -X 4959

Outras opções de PMAP

1. Pegue o caminho completo

Para obter o caminho completo dos arquivos:

$ PMAP -P 4959

2. Ignore os nomes das colunas


Se você deseja excluir os nomes das colunas ao exibir o relatório de saída, por exemplo, ao obter o nome do dispositivo:

$ PMAP -QD 4959

3. Obtenha a versão PMAP

Para ver a versão PMAP atual:

$ PMAP -V

4. Página de ajuda do PMAP


Para abrir a página de ajuda do PMAP.

$ PMAP - -Help

Conclusão

Ao trabalhar com o Linux, entender o gerenciamento de memória pode ser complicado. Felizmente, com a ajuda do comando PMAP, você pode obter a imagem completa do que acontece na memória. Um comando PMAP é uma ótima ferramenta para quem lida com mapas de memória de processo. Este guia cobriu o uso comum do comando PMAP Linux para você começar.