/*=========================================================================
Program: vv http://www.creatis.insa-lyon.fr/rio/vv
/*=========================================================================
Program: vv http://www.creatis.insa-lyon.fr/rio/vv
- CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr
This software is distributed WITHOUT ANY WARRANTY; without even
- CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr
This software is distributed WITHOUT ANY WARRANTY; without even
- BSD See included LICENSE.txt file
- CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
- BSD See included LICENSE.txt file
- CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
{
#if CLITK_MEMORY_INFO == 1
if (verbose) {
static double previous=0;
double mem = GetMemoryUsageInMb();
if (s != "") std::cout << "==> " << s << ": ";
{
#if CLITK_MEMORY_INFO == 1
if (verbose) {
static double previous=0;
double mem = GetMemoryUsageInMb();
if (s != "") std::cout << "==> " << s << ": ";
{
#if CLITK_MEMORY_INFO == 1
//sleep(1); // wait to refresh memory ? need to let the system refresh the mem
{
#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);
+ size_t entries;
+ sg_process_stats *stat;
+ int i=0;
+ sg_init(1);
+
+ stat = sg_get_process_stats(&entries);
+ if(stat == NULL)
+ return 0.0;
+
- while (stat[i].pid != getpid()) i++;
- // Display total memory size
- double mem = stat[i].proc_size/1000/1000; // in Mb
+ while (stat->pid != getpid() && i < entries)
+ {
+ ++i;
+ ++stat;
+ }
+
+ // Display total memory size
+ double mem = stat->proc_resident/1000/1000; // in MB