Quais são as posições em 'free' chamadas?

0

Estou tentando comparar a saída de free com a saída de sar -r :

# sar -r
12:00:01 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
12:10:01 AM    629756  65293976     99.04    586536  60321636   5094176      7.49

# free
             total       used       free     shared    buffers     cached
Mem:      65923732    9120348   56803384          0     403628    5789524
-/+ buffers/cache:    2927196   62996536
Swap:      2097144          0    2097144

Na linha free que começa com Mem: , é óbvio que temos o que seria chamado em sar : kbmemtotal , kbmemused , kbmemfree , ??? , kbbuffers , kbcached .
Na linha que começa com -/+ : ??? , ???

Quais são os nomes dos valores que eu marquei como ??? ? Este é o valor kbcommit ? Eu li o Linux comeu meu ram que explica o que os números significam, mas não seus nomes. Além disso, a página de manual gratuita também não fornece os nomes.

    
por dotancohen 27.07.2014 / 15:06

2 respostas

1

Os nomes realmente correspondem, mas sar e free não mostram exatamente os mesmos campos.

Seu primeiro ??? não é kbcommit , é a memória compartilhada, o mesmo que Shmem de /proc/meminfo .

A segunda linha mostra o uso de memória se a memória usada pelos buffers e pelo cache foi tratada como livre, em vez de usada.

$ free
             total       used       free     shared    buffers     cached
Mem:      MemTotal  kbmemused  kbmemfree      Shmem  kbbuffers   kbcached
-/+ buffers/cache:      USED2      FREE2
Swap:            0          0          0
  • MemTotal = MemTotal de / proc / meminfo
  • Shmem = Shmem de / proc / meminfo
  • USED2 = kbmemused - kbbuffers - kbcached
  • FREE2 = kbmemfree + kbbuffers + kbcached
por 27.07.2014 / 19:21
0

Na verdade, como sua saída talvez demonstre, sar ' kbmemused provavelmente não não é igual ao segundo campo "Mem:" de free . De man sar :

kbmemused Amount of used memory in kilobytes. This does not take into account memory used by the kernel itself.

Supondo que parte do que não é levado em conta é:

kbbuffers Amount of memory used as buffers by the kernel in kilobytes.

kbcached Amount of memory used to cache data by the kernel in kilobytes.

Espero que este não seja apenas um caso de documentação enganosa; Eu não sou um usuário sar . Em qualquer caso, a linha superior em free inclui buffers e cache. A segunda linha ( +/- buffers/cache ) não. Aviso 403628 ( buffers ) + 5789524 ( cached ) = 6193152 e 9120348 ( Mem: used ) - 6193152 = 2927196 ( +/- buffers/cache: used ).

their names

Você pode chamá-los como quiser. Os nomes de sar são arbitrários. Se você se referir a uma saída de valor de free como "memória usada menos cache", é óbvio que você quer dizer o primeiro número na segunda linha, etc.

    
por 27.07.2014 / 15:19