Quando OOM Killer ou kernel relata o estado da memória, ele usa as próximas abreviações
Node 0 DMA: 26*4kB (M) 53*8kB (UM) 33*16kB (ME) 23*32kB (UME) 6*64kB (ME) 7*128kB (UME) 1*256kB (M) 2*512kB (ME) 0*1024kB 0*2048kB 0*4096kB = 4352kB
Node 0 DMA32: 803*4kB (UME) 3701*8kB (UMEH) 830*16kB (UMH) 2*32kB (H) 0*64kB 0*128kB 1*256kB (H) 0*512kB 0*1024kB 0*2048kB 0*4096kB = 46420kB
Eu entendo alguns deles, por exemplo M
- móvel UMH
- imóvel alto. Mas não consigo encontrar o que significa E
Onde posso encontrar documentação sobre isso?
Meu caso, tenho a próxima mensagem
page allocation stalls for 27840ms, order:0, mode:0x14200ca(GFP_HIGHUSER_MOVABLE)
o que significa processar solicitações de página 4kb (2^0 * 4kb)
, que deve ser codificada como (MH) Estou certo? Ou HIGHUSER
é codificado de forma diferente?
Estes são os tipos de migração, definidos no
mm/page_alloc.c
kernel:Os próprios tipos são definidos em
include/linux/mmzone.h
.Então
E
significa recuperável, eH
significa “alta atômica”, ou seja , “alocação atômica de alta ordem”.