/proc/meminfo показывает, что MemFree больше, чем MemAvailable. Имеет ли это смысл?
Из того, что я смог понять из этого изменения в Linux, сообщалось об использовании памяти, отчетах как о неиспользуемой в данный момент оперативной памяти и как о оперативной памяти, доступной в настоящее время для новых процессов без замены.
Из этого не следуетMemFree
содержаться вMemAvailable
, таким образом, всегда меньше или равно ему? Я предполагаю, что неиспользуемая оперативная память также доступна для новых процессов без замены. Или я неправильно понимаю часть «Свободная память не может быть использована ниже нижнего уровня» (четвертый фрагмент патча)?
Эти значения соответствуют, как и ожидалось,free
иtop
выходы.
Я видел это на виртуальной машине Exadata со следующими характеристиками:
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
Полный/proc/meminfo
в произвольный момент, если это поможет:
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
Спасибо,
Эмерсон