descobre quais páginas de memória são de propriedade do kernel

1

Eu posso obter um maravilhoso mapa de memória de todos os processos com o comando do Linux

pmap $(ps -A | awk '{print $1}'|grep -v PID) | sort | grep \^0

Parece que

...
00007fd6dbf45000      4K rw---  /lib/libnss_compat-2.11.1.so 
00007fd6dbf46000   1524K r-x--  /lib/libc-2.11.1.so
00007fd6dc0c3000   2044K -----  /lib/libc-2.11.1.so  
...

Todos os mapas de memória dos processos são mesclados aqui. Mas sinto falta da informação em que o kernel tem suas páginas de memória. Existe uma ferramenta semelhante para o "mapa de memória completo"?

    
por Thorsten Staerk 17.12.2013 / 12:39

2 respostas

1

Seu comando não faz muito sentido. Os endereços reportados por pmap para cada processo são válidos apenas no próprio espaço de endereços dos processos, ou seja, na sua memória virtual. Eles vão se "sobrepor", enquanto tecnicamente eles correspondem a páginas diferentes. Alguns deles não estarão na RAM, mas no disco.

As páginas de propriedade do uso do kernel, por outro lado, são armazenadas na memória física.

    
por 12.03.2014 / 19:07
0

Melhor abordagem seria usar o sysrq.

Corra seguindo e verifique seu / var / log / messages.

# echo m > /proc/sysrq-trigger

Isso daria a você um despejo de memória inteligente. Checkout seguindo o URL

link

    
por 12.03.2014 / 18:20