X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkMemoryUsage.cxx;h=8ceff61a1e4c90cc55363de927b375e143ddb087;hb=7b7aa6a850620a9932b5a65ec035845c5800319e;hp=7e0079e80b987ee5acc2ba33eaea3df10dbafa25;hpb=8365018304075da6b6ef5ab04ffc47660c77d05f;p=clitk.git diff --git a/common/clitkMemoryUsage.cxx b/common/clitkMemoryUsage.cxx index 7e0079e..8ceff61 100644 --- a/common/clitkMemoryUsage.cxx +++ b/common/clitkMemoryUsage.cxx @@ -20,9 +20,6 @@ #include "clitkCommon.h" #include "clitkMemoryUsage.h" -// itk include -#include "itkMemoryUsageObserver.h" - void clitk::PrintMemory(bool verbose, std::string s) { #if CLITK_MEMORY_INFO == 1 @@ -32,13 +29,25 @@ void clitk::PrintMemory(bool verbose, std::string s) 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() { - itk::MemoryUsageObserver memUsage; - return memUsage.GetMemoryUsage() / 1024.; -} +#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_resident/1024/1024; // in Mb + return mem; +#endif + }