changeset 32082:66ecc0d4d6ce stable

memory: Fix execution on Cygwin. * scripts/miscellaneous/memory.m: Check if field "Cached" exists before using it.
author Markus Mützel <markus.muetzel@gmx.de>
date Sun, 07 May 2023 18:13:19 +0200
parents f7206b6577c2
children 4e30fd192118 e2911d0176dc
files scripts/miscellaneous/memory.m
diffstat 1 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/miscellaneous/memory.m	Wed May 03 20:43:36 2023 +0200
+++ b/scripts/miscellaneous/memory.m	Sun May 07 18:13:19 2023 +0200
@@ -183,7 +183,13 @@
     else
       ## On kernels from before 2014 MemAvailable is not present.
       ## This is a rough estimate that can be used instead.
-      available_ram = (meminfo.MemFree + meminfo.Cached) * kiB;
+      available_ram = meminfo.MemFree * kiB;
+      if (isfield (meminfo, "Cached"))
+        ## Some platforms don't support "Cached" (e.g., Cygwin).
+        ## That makes the result even more unreliable. But it might be better
+        ## than nothing.
+        available_ram += meminfo.Cached * kiB;
+      endif
     endif
     free_swap = meminfo.SwapFree * kiB;
     used_ram = status.VmRSS * kiB;