]> Creatis software - clitk.git/commitdiff
add getMemoryUsage
authordsarrut <dsarrut>
Thu, 3 Mar 2011 10:10:53 +0000 (10:10 +0000)
committerdsarrut <dsarrut>
Thu, 3 Mar 2011 10:10:53 +0000 (10:10 +0000)
common/clitkMemoryUsage.cxx
common/clitkMemoryUsage.h

index 295ac2975e5d90e616c3a240211243cb4544a36a..b588c41f1666f49117ada4e634fad538768dbe6d 100644 (file)
@@ -24,22 +24,30 @@ void clitk::PrintMemory(bool verbose, std::string s)
 {
 #if CLITK_MEMORY_INFO == 1
   if (verbose) {
-      //sleep(1); // wait to refresh memory ? need to let the system refresh the mem
-      int * entries = new int;
-      sg_process_stats * stat = new sg_process_stats;
-      int i=0; 
-      stat = sg_get_process_stats(entries);
-      // Search the current pid in the list of processes
-      while (stat[i].pid != getpid()) i++;
-      // Display total memory size 
-      if (s != "") std::cout << "==> " << s << ": ";
-      static int previous=0;
-      int mem = stat[i].proc_size/1000/1000; // in Mb
-      std::cout << mem << "Mb (" << mem-previous << "Mb)" << std::endl;
-      previous = mem;
-      //DD(stat[i].proc_resident/1000/1000);
-      //DD(stat[i].pid);
-    }
+    static double previous=0;
+    double mem = GetMemoryUsageInMb();
+    if (s != "") std::cout << "==> " << s << ": ";
+    std::cout << mem << "Mb (" << mem-previous << "Mb)" << std::endl;
+    previous = mem;
+    //DD(stat[i].proc_resident/1000/1000);
+    //DD(stat[i].pid);
+  }
+#endif
+  }
+
+double clitk::GetMemoryUsageInMb() 
+{
+#if CLITK_MEMORY_INFO == 1
+  //sleep(1); // wait to refresh memory ? need to let the system refresh the mem
+  int * entries = new int;
+  sg_process_stats * stat = new sg_process_stats;
+  int i=0; 
+  stat = sg_get_process_stats(entries);
+  // Search the current pid in the list of processes
+  while (stat[i].pid != getpid()) i++;
+  // Display total memory size 
+  double mem = stat[i].proc_size/1000/1000; // in Mb
+  return mem;
 #endif
   }
 
index d514aff42e1f4f81e0f3e2b617985bebb5682fd4..38a982ea0bdf6bd8c5217f2a67b74c1d1a82d7d3 100644 (file)
@@ -31,6 +31,7 @@
 namespace clitk {
 
   void PrintMemory(bool verbose=true, std::string s="") ;
+  double GetMemoryUsageInMb() ;
 
 }  // end namespace
 //--------------------------------------------------------------------