
Isso é um pouco improvável, mas atualmente estamos enfrentando alguns problemas com um de nossos aplicativos Java Dockerizados:Pergunta Stackoverlow
Definimos o limite de memória do docker para 2 GB, que está muito além do que o aplicativo Java poderia usar, então estou realmente procurando por qualquer causa possível para esse problema.
É possível que durante a desfragmentação/compactação da memória, o sistema relate um maior uso de memória para o aplicativo para o qual está executando essas operações (na memória alocada) e, portanto, acione o OOM killer do docker?
Mais algumas informações de um dos servidores EC2
gato /proc/pagetypeinfo
Page block order: 9
Pages per block: 512
Free pages count per migrate type at order 0 1 2 3 4 5 6 7 8 9 10
Node 0, zone DMA, type Unmovable 1 0 0 1 2 1 1 0 1 0 0
Node 0, zone DMA, type Movable 0 0 0 0 0 0 0 0 0 1 3
Node 0, zone DMA, type Reclaimable 0 0 0 0 0 0 0 0 0 0 0
Node 0, zone DMA, type HighAtomic 0 0 0 0 0 0 0 0 0 0 0
Node 0, zone DMA, type Isolate 0 0 0 0 0 0 0 0 0 0 0
Node 0, zone DMA32, type Unmovable 2160 1450 509 358 72 0 0 0 0 0 0
Node 0, zone DMA32, type Movable 39753 18110 3832 317 88 18 2 0 0 0 0
Node 0, zone DMA32, type Reclaimable 479 970 7 6 3 0 1 0 0 0 0
Node 0, zone DMA32, type HighAtomic 0 0 0 0 0 0 0 0 0 0 0
Node 0, zone DMA32, type Isolate 0 0 0 0 0 0 0 0 0 0 0
Node 0, zone Normal, type Unmovable 72 410 350 0 0 0 0 0 0 0 0
Node 0, zone Normal, type Movable 132228 61046 1635 0 0 0 0 0 0 0 0
Node 0, zone Normal, type Reclaimable 0 2 7 1 0 0 0 0 0 0 0
Node 0, zone Normal, type HighAtomic 2 0 15 11 7 2 0 0 0 0 0
Node 0, zone Normal, type Isolate 0 0 0 0 0 0 0 0 0 0 0
Number of blocks type Unmovable Movable Reclaimable HighAtomic Isolate
Node 0, zone DMA 1 7 0 0 0
Node 0, zone DMA32 59 1391 78 0 0
Node 0, zone Normal 448 5888 127 1 0
gato /proc/sys/vm/extfrag_threshold
500
gato /sys/kernel/debug/extfrag/extfrag_index
Node 0, zone DMA -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000
Node 0, zone DMA32 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 0.988 0.994 0.997 0.999
Node 0, zone Normal -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 0.979 0.990 0.995 0.998 0.999
grátis -h
total used free shared buff/cache available
Mem: 15G 11G 1.5G 1.2M 2.4G 3.7G
Swap: 4.0G 907M 3.1G
Só temos esse problema em nossos servidores de produção (que estão rodando há quase um ano), nossos ambientes inferiores param todo fim de semana e não conseguimos acionar esse problema manualmente até agora. No entanto, tentaremos substituir os servidores na próxima semana, esperando que esse problema seja muito menos provável de acontecer.
Eu sei que é um tiro no escuro, não sou um especialista quando se trata de gerenciamento de memória Linux e provavelmente é muito improvável que seja a causa raiz, mas é uma pergunta para a qual adoraria saber a resposta.