Saudações! Um servidor equipado com 512 GB de RAM (16 slots * 32 GB) cujo sistema operacional é Ubuntu 22.04. Durante a inicialização, o servidor reservando 16259356 K (15 GB) de RAM foi mostrado no dmesg, resultando em apenas 498 GB disponíveis para o sistema operacional. Não consegui identificar onde 15 GB estão alocados. Você poderia por favor me ajudar.
1.) Dmidecode for RAM.
root@apac2-prd241:~# dmidecode -t memory |grep Size
Size: 32 GB
Size: 32 GB
Size: 32 GB
Size: 32 GB
Size: 32 GB
Size: 32 GB
Size: 32 GB
Size: 32 GB
Size: 32 GB
Size: 32 GB
Size: 32 GB
Size: 32 GB
Size: 32 GB
Size: 32 GB
Size: 32 GB
Size: 32 GB
2.) dmesg log.
root@apac2-prd241:~# grep Memory /var/log/dmesg
[ 3.919928] kernel: Memory: 520513460K/536773076K available (16393K kernel code, 4395K rwdata, 10908K rodata, 3360K init, 18708K bss, 16259356K reserved, 0K cma-reserved)
[ 8.227673] kernel: x86/mm: Memory block size: 2048MB
3.) System RAM.
root@apac2-prd241:~# free -g
total used free shared buff/cache available
Mem: 497 39 439 17 18 438
Swap: 0 0 0
Cada página de memória 4K comanda uma
struct page
sobrecarga de 64B, o que significa 8 GB de memória indisponível para 512 GB de RAM. Adicionar alguma memória reservada devido acrashkernel
dispositivos mapeados de memória (ou seja: adaptador gráfico) e similares termina com aproximadamente 15 GB indisponíveis em seu servidor.EDIT: você tem 6 GB alocados para
crashkernel
(o que não aparece como memória alocada do sistema operacional visível viafree
), então 8 + 6 = 14 GB reservados apenas pelo sistema operacional para si.dmesg | grep -i reserved
mostra intervalos reservados de hardware, que você pode comparar com a saída decat /proc/iomap
(nota: o último mostra todos os intervalos, mesmo que eles realmente não usem nenhuma memória física).