Não sei se tudo o que você precisa está exposto na saída de /proc/meminfo
para que você possa calcular MemTotal
. A partir da documentação do kernel do Linux proc.txt
file :
MemTotal: Total usable ram (i.e. physical ram minus a few reserved
bits and the kernel binary code)
dmesg
Se você examinar a saída de dmesg
ou o arquivo de log /var/log/dmesg
, poderá encontrar as seguintes informações:
$ grep -E "total|Memory:.*available" /var/log/dmesg
[ 0.000000] total RAM covered: 8064M
[ 0.000000] On node 0 totalpages: 2044843
[ 0.000000] Memory: 7970012k/9371648k available (4557k kernel code, 1192276k absent, 209360k reserved, 7251k data, 948k init)
Eu acredito que esta informação pode ser usada para determinar MemTotal
. Esta postagem de blog a cobre em mais detalhes, é intitulada: Entendendo “sobreposição de região vmalloc” . Também este post, que fornece algumas informações adicionais, intitulado: Anatomia de um programa na memória .
Referências
- Como faço para contabilizar todos os a memória em meminfo? Como calcular o MemTotal em / proc / meminfo li>