Memory

/proc/meminfo 顯示 MemFree 大於 MemAvailable - 這有意義嗎?

  • January 6, 2022

據我所知,Linux的這種變化/proc/meminfo報告了記憶體使用情況,報告MemFree為目前未使用的 RAM,以及MemAvailable目前可用於新程序而無需交換的 RAM。

由此,不MemFree應該包含在 中MemAvailable,因此總是小於或等於它?我猜未使用的 RAM 也可用於新程序而無需交換。還是我誤解了“空閒記憶體不能低於低水位線”(更新檔中的第 4 塊)部分?

正如預期的那樣,這些值匹配freetop輸出。

我在具有以下規格的 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

引用自:https://serverfault.com/questions/1089209