From c33a44691802b4c8868db6cfc75a9e62f73e769e Mon Sep 17 00:00:00 2001 From: James Cherry Date: Fri, 25 Sep 2020 16:48:41 -0700 Subject: [PATCH] macos memoryUsage --- util/Machine.cc | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/util/Machine.cc b/util/Machine.cc index 33e4390a..a1c0229e 100644 --- a/util/Machine.cc +++ b/util/Machine.cc @@ -16,7 +16,7 @@ #include "Machine.hh" -#if defined(_WINDOWS) || defined(_WIN32) +#ifdef WIN32 #include #include // GetSystemInfo @@ -88,8 +88,10 @@ memoryUsage() } } +#endif // WIN32 -#else // _WINDOWS +// Common to macos and linux +#if defined(__APPLE__) || defined(__linux__) #include #include @@ -147,6 +149,13 @@ systemRunTime() return rusage.ru_stime.tv_sec + rusage.ru_stime.tv_usec * 1e-6; } +} + +#endif // __APPLE__ || __linux__ + +#ifdef __linux__ + +namespace sta { // rusage->ru_maxrss is not set in linux so read it from /proc. size_t memoryUsage() @@ -174,7 +183,20 @@ memoryUsage() } return memory; } - } -#endif // !_WINDOWS +#endif // __linux__ + +#ifdef __APPLE__ + +namespace sta { +size_t +memoryUsage() +{ + struct rusage rusage; + getrusage(RUSAGE_SELF, &rusage); + return rusage.ru_maxrss; +} +} + +#endif // __apple__