fix proc meminfo cached calculation (#15859)
Ilya Mashchenko committed
Aug 21, 2023 at 17:51 UTC
56479af525a113cf6230ab652629cdba829ed707
1 file changed
+3
-1
collectors/proc.plugin/proc_meminfo.c
+3
-1
@@ -230,7 +230,9 @@ int do_proc_meminfo(int update_every, usec_t dt) {
230
}
231
232
// http://calimeroteknik.free.fr/blag/?article20/really-used-memory-on-gnu-linux
233
- unsigned long long MemCached = Cached + SReclaimable + KReclaimable - Shmem;
233
+ // KReclaimable includes SReclaimable, it was added in kernel v4.20
234
+ unsigned long long reclaimable = KReclaimable > 0 ? KReclaimable : SReclaimable;
235
+ unsigned long long MemCached = Cached + reclaimable - Shmem;
236
unsigned long long MemUsed = MemTotal - MemFree - MemCached - Buffers;
237
// The Linux kernel doesn't report ZFS ARC usage as cache memory (the ARC is included in the total used system memory)
238
if (!inside_lxc_container) {