Memory
/proc/meminfo 顯示 MemFree 大於 MemAvailable - 這有意義嗎?
據我所知,Linux的這種變化
/proc/meminfo
報告了記憶體使用情況,報告MemFree
為目前未使用的 RAM,以及MemAvailable
目前可用於新程序而無需交換的 RAM。由此,不
MemFree
應該包含在 中MemAvailable
,因此總是小於或等於它?我猜未使用的 RAM 也可用於新程序而無需交換。還是我誤解了“空閒記憶體不能低於低水位線”(更新檔中的第 4 塊)部分?正如預期的那樣,這些值匹配
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
謝謝,
愛默生
程式碼以
available = i.freeram - wmark_low
.這意味著最初分配給的值
MemAvailable
是(MemFree - low watermark)
小於MemFree
。