Eu fiz um pouco de pesquisa sobre isso, mas não encontrei nada que respondesse à minha pergunta.
Eu tenho um sistema com 6GB de RAM que funciona como um servidor Xen. Para referência, ele roda o Ubuntu 12.04. Eu configurei o parâmetro do kernel dom0_mem: 512M, max: 512M em / etc / default / grub da seguinte forma:
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=min:512M,max:512M"
Eu tentei variações disso, com o mesmo resultado.
Minha pergunta é esta:
Com o conjunto acima, o dom0 relata em todas as aplicações uma quantidade de RAM de 422M.
cat / proc / meminfo fornece o seguinte:
$ cat /proc/meminfo
MemTotal: 432472 kB
MemFree: 54144 kB
Buffers: 17640 kB
Cached: 220104 kB
SwapCached: 30172 kB
Active: 136500 kB
Inactive: 167780 kB
Active(anon): 6156 kB
Inactive(anon): 60516 kB
Active(file): 130344 kB
Inactive(file): 107264 kB
Unevictable: 52 kB
Mlocked: 52 kB
SwapTotal: 1794044 kB
SwapFree: 1682012 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 39572 kB
Mapped: 8048 kB
Shmem: 136 kB
Slab: 44324 kB
SReclaimable: 22012 kB
SUnreclaim: 22312 kB
KernelStack: 1280 kB
PageTables: 3840 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 2010280 kB
Committed_AS: 329192 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 313988 kB
VmallocChunk: 34359417340 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 524696 kB
DirectMap2M: 0 kB
top, htop, free -m e monitor RAM byobu todos relatam a mesma quantidade.
No começo eu pensei que isso era por causa dos gráficos onboard pegando alguma memória, mas agora mudei para uma GPU dedicada e ela persiste.
Isso é um comportamento normal ou algo saiu errado? É apenas cerca de 100MB de RAM que "se foi", e não tenho idéia de onde foi. Eu entendo que é normal que todos RAM esteja disponível para alocação, mas o sistema realmente leva uma quantidade relativamente alta para a quantidade de RAM disponível?
Editar
Acabei de notar que xl list reporta dom0 como tendo 511M de RAM, então parece que a memória está sendo alocada corretamente, e que a diferença é apenas a memória reservada do sistema.