When a Linux server experiences high memory pressure or an Out-Of-Memory (OOM) killer process termination, running free -m only tells part of the story. The virtual file /proc/meminfo provides a real-time window directly into the Linux kernel’s virtual memory allocator (VMA), page cache, and swap subsystem.
Decoding Key /proc/meminfo Metrics
$ cat /proc/meminfo
MemTotal: 16308544 kB
MemFree: 1205432 kB
MemAvailable: 11850124 kB
Buffers: 345120 kB
Cached: 9850120 kB
Active: 8450120 kB
Inactive: 3120450 kB
Dirty: 1240 kB
Slab: 1250400 kBMetric Breakdown & Misconceptions:
`MemFree` vs `MemAvailable`:
MemFreeis unused RAM sitting idle.MemAvailableis the true metric for available memory—it estimates how much RAM can be reclaimed from page caches without causing disk thrashing.`Buffers` & `Cached`: RAM allocated by the kernel for disk block caches and file system page caches. The kernel automatically frees this memory when application processes request RAM.
`Active` vs `Inactive`:
Activepages were accessed recently and will not be swapped out.Inactivepages are candidates for page eviction or swap paging.
Comments and corrections