Rastrear alocações de memória no Linux

2

Existe uma maneira de rastrear alocações de memória executadas pelo kernel? Eu encontrei um artigo, onde as alocações de memória são rastreadas no log do kernel (eu acho ). Aqui está como parece:

[ 3830.215613] [HIGHERORDER_DEBUG] : __alloc_pages_nodemask is called by process <PID = 1168, NAME = Xorg> !!!

Talvez seja uma compilação de kernel personalizada ...

Existe uma maneira de rastrear alocações de memória dessa maneira? Talvez existam algumas ferramentas para isso? Estou usando o RHEL7.

    
por sys463 24.05.2018 / 19:44

1 resposta

2

Esta não é uma resposta completa, mas pode dar-lhe uma orientação para começar a procurar.

Esta é uma estrutura forense de RAM que pode fornecer algumas ferramentas para rastrear. Eu usei apenas um pouco, mas isso lhe dará um módulo do kernel que lhe dará muito acesso ao que está acontecendo na RAM.

link

Na verdade ... também encontrei este artigo que tem algumas opções de inicialização (e mais alguns detalhes) para registrar a alocação de memória do kernel. Talvez isso faça isso por você?

trace_event=kmem:kmalloc,kmem:kmem_cache_alloc,kmem:kfree,kmem:kmem_cache_free

link

    
por 24.05.2018 / 21:15