Pelo que pude entender dessa mudança no uso de memória relatado pelo Linux, /proc/meminfo
relatórios MemFree
como RAM atualmente não utilizada e MemAvailable
como RAM atualmente disponível para novos processos sem troca.
A partir disso, não deveria MemFree
estar contido em MemAvailable
, sendo assim sempre menor ou igual a ele? Acho que a RAM não utilizada também está disponível para novos processos sem troca. Ou estou entendendo mal a parte "A memória livre não pode ser tomada abaixo da marca d'água baixa" (4º bloco do patch)?
Esses valores correspondem, conforme esperado, free
e as top
saídas.
Eu vi isso em uma máquina virtual Exadata com estas especificações:
cat /etc/oracle-release
Oracle Linux Server release 7.8
uname -r
4.14.35-1902.306.2.1.el7uek.x86_64
rpm -q sysstat
sysstat-10.1.5-19.el7.x86_64
Cheio /proc/meminfo
em um momento arbitrário, se ajudar:
MemTotal: 19995464 kB
MemFree: 2963684 kB
MemAvailable: 1063344 kB
Buffers: 406124 kB
Cached: 2609256 kB
SwapCached: 9648 kB
Active: 4632640 kB
Inactive: 2348256 kB
Active(anon): 3882372 kB
Inactive(anon): 700524 kB
Active(file): 750268 kB
Inactive(file): 1647732 kB
Unevictable: 634040 kB
Mlocked: 634044 kB
SwapTotal: 16777212 kB
SwapFree: 16579068 kB
Dirty: 1684 kB
Writeback: 0 kB
AnonPages: 4592704 kB
Mapped: 384108 kB
Shmem: 484212 kB
Slab: 511064 kB
SReclaimable: 249660 kB
SUnreclaim: 261404 kB
KernelStack: 23184 kB
PageTables: 96648 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 24602016 kB
Committed_AS: 5737344 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 2122
HugePages_Free: 590
HugePages_Rsvd: 1
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 833536 kB
DirectMap2M: 15943680 kB
DirectMap1G: 5242880 kB
Obrigado,
Emerson
O código começa como
available = i.freeram - wmark_low
.Isso significa que o valor atribuído inicialmente
MemAvailable
é(MemFree - low watermark)
menor queMemFree
.