como encontrar o tamanho de memória correto

0

temos uma máquina linux com 32G

nós capturamos o mem como o seguinte

mem=' cat /proc/meminfo | grep MemTotal | awk '{print $2}' '
echo $mem
32767184

e agora convertemos para GIGA

mem_in_giga='  echo $(( $mem / 1024 / 1024)) '
echo $mem_in_giga
31

mas a partir dos resultados obtemos 31 e não 32G

a mesma história com comando livre

free -g
              total        used        free      shared  buff/cache   available
Mem:             31           9          17           0           4          20
Swap:             7           0           7

Então, como obter o 32G por qualquer solução de comando?

    
por yael 01.02.2018 / 13:33

1 resposta

7

MemTotal mostra

Total usable RAM (i.e., physical RAM minus a few reserved bits and the kernel binary code).

Você não pode usar isso para determinar a memória instalada exata, exceto usando heurísticas ...

Para determinar a memória instalada real, você deve usar lshw ou dmidecode , o que mostrará o tamanho dos módulos instalados; por exemplo, de lshw :

 *-memory
      description: System Memory
      physical id: 4c
      slot: System board or motherboard
      size: 32GiB
      capabilities: ecc
      configuration: errordetection=ecc

ou de forma mais compacta ( lshw -class memory -short ):

H/W path           Device      Class          Description
=========================================================
/0/0                           memory         64KiB BIOS
/0/47/48                       memory         256KiB L1 cache
/0/47/49                       memory         1MiB L2 cache
/0/47/4a                       memory         8MiB L3 cache
/0/4c                          memory         32GiB System Memory
/0/4c/0                        memory         8GiB DIMM DDR3 Synchronous 1600 MHz (0.6 ns)
/0/4c/1                        memory         8GiB DIMM DDR3 Synchronous 1600 MHz (0.6 ns)
/0/4c/2                        memory         8GiB DIMM DDR3 Synchronous 1600 MHz (0.6 ns)
/0/4c/3                        memory         8GiB DIMM DDR3 Synchronous 1600 MHz (0.6 ns)
    
por 01.02.2018 / 13:42