find o tamanho da página e o número de páginas de um process no linux

Dado um PID do process executado no Linux (kernel mais recente), como faço paira descobrir:

  1. O número de páginas que está usando
  2. O tamanho de cada página que está usando (4K, 2MB ou 1GB)

Isso é paira a architecture x86-64.

Pagesize é sistema amplo e pode ser encontrado com o command getconf

 getconf PAGESIZE 

A ferramenta mem_usage.py pode fornecer informações mais detalhadas sobre o uso de uma memory de processs.

Dependendo de quão detalhada seja a informação desejada, você deseja um dos seguintes:

  • /proc/pid/statm : fornece informações sobre o uso da memory, medidas nas páginas.
  • /proc/pid/status : Fornece grande pairte das informações de /proc/pid/statm , mas é mais fácil de ler.

Confira a man-page paira proc-files paira uma documentation detalhada sobre o significado das diferentes colunas.

O número de páginas que está usando

 awk '{ print $24 }' /proc/[pid]/stat 

ou:

 awk '{ print $2 }' /proc/[pid]/statm 

De acordo com o man proc , é o número de páginas que o process tem na memory real. Dê uma olhada no procstat.c paira exibir proc stat em format legível paira humanos.