Provide a getrusage based implementation of GetTotalMemoryUsage and use
authorReid Spencer <rspencer@reidspencer.com>
Mon, 20 Dec 2004 16:33:37 +0000 (16:33 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Mon, 20 Dec 2004 16:33:37 +0000 (16:33 +0000)
the ru_maxrss field as an approximation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19072 91177308-0d34-0410-b5e6-96231b3b80d8

lib/System/Unix/Process.cpp
lib/System/Unix/Process.inc

index c9507cb4e7be8eee1cb3005e2eaa11b74905c865..eef6535ee90ffde001bb662c900a43236c3dc387 100644 (file)
@@ -74,6 +74,10 @@ Process::GetTotalMemoryUsage()
 #if defined(HAVE_MALLINFO)
   struct mallinfo mi = ::mallinfo();
   return mi.uordblks + mi.hblkhd;
+#elif defined(HAVE_GETRUSAGE)
+  struct rusage usage;
+  ::getrusage(RUSAGE_SELF, &usage);
+  return usage.ru_maxrss;
 #else
 #warning Cannot get total memory size on this platform
   return 0;
index c9507cb4e7be8eee1cb3005e2eaa11b74905c865..eef6535ee90ffde001bb662c900a43236c3dc387 100644 (file)
@@ -74,6 +74,10 @@ Process::GetTotalMemoryUsage()
 #if defined(HAVE_MALLINFO)
   struct mallinfo mi = ::mallinfo();
   return mi.uordblks + mi.hblkhd;
+#elif defined(HAVE_GETRUSAGE)
+  struct rusage usage;
+  ::getrusage(RUSAGE_SELF, &usage);
+  return usage.ru_maxrss;
 #else
 #warning Cannot get total memory size on this platform
   return 0;