Uso de baixo uso do Kernel Linux

6

Estou depurando um problema em que estamos ficando sem memória baixa do kernel e estou tentando identificar quem está usando a memória insuficiente do kernel que está contribuindo para o problema.

A seguir, a saída meminfo:

MemTotal:     16622556 kB
MemFree:      11429420 kB
Buffers:        146268 kB
Cached:        2898228 kB
RAMCached:     1213120 kB
Allowed:       4155639 Pages
Free:          2857355 Pages
Available:     3317413 Pages
SwapCached:          0 kB
Active:        3004716 kB
Inactive:      1694188 kB
HighTotal:    16045340 kB
HighFree:     11419648 kB
LowTotal:       577216 kB
LowFree:          9772 kB
SwapTotal:           0 kB
SwapFree:            0 kB
Dirty:               8 kB
Writeback:           0 kB
Mapped:        1871960 kB
Slab:           304260 kB
CommitLimit:   8311276 kB
Committed_AS:  5438236 kB
PageTables:      20956 kB
VmallocTotal:   311288 kB
VmallocUsed:    253900 kB
VmallocChunk:    48892 kB

Eu olhei os seguintes campos na saída acima:

LowTotal: 577216 kB
LowFree: 9772 kB
Slab: 304260 kB

Se eu somar a alocação de memória em / proc / slabinfo, isso corresponderá ao conteúdo da laje (304kb) mencionado acima.

Eu olhei para o código-fonte do kernel e vejo que o lowfree é calculado como (totalfree-highfree), que corresponde na tabela acima.

Eu estou querendo saber onde os 263mb restantes (lowtotal-lowfree-slab, 577216-9772-304260 = 263184mb) de pouca memória são usados. Parece que o lowmem é usado para outros fins que não laje. Depois que eu descobrir quem mais está usando o lowmem além da laje, posso tentar descobrir onde a memória está ficando na lista.

Basicamente, meu objetivo é tentar descobrir quem está usando os 570mb de lowmem.

Eu olhei para diferentes grupos de correio, o que explica os detalhes do meminfo e do slabinfo, mas não vi detalhes dos detalhes do uso do lowmem.

Obrigado Sreenivas

    
por Sreeni 19.11.2013 / 12:23

1 resposta

1

Isso não responde diretamente à sua pergunta, mas eu encontrei esta informação sobre /proc/meminfo que a Red Hat divulgou há algum tempo, o que pode ser útil. A página está aqui, intitulada: Dicas e & Truques Artigo em destaque: / proc / meminfo explicado .

trecho

LowFree: The amount of free memory of the low memory region. This is the memory the kernel can address directly. All kernel datastructures need to go into low memory.

Então, eu estou querendo saber se existem algumas estruturas de dados que estão consumindo os 263 MB que você está perguntando, sua matemática parece indicar que esse pode ser o caso.

Também escrevi uma página no site da U & A sobre Quanto RAM o kernel usa? , mostrando especificamente várias ferramentas, como slabtop , bem como algumas estruturas adicionais de /proc que podem ajudá-lo a chegar ao fundo da questão. p>     

por 21.01.2014 / 15:53