diff --git a/src/plugins/jobacct/aix/jobacct_aix.c b/src/plugins/jobacct/aix/jobacct_aix.c index 29092faa0990968c2bb1860e199ff8b2edfab689..20640ea2ba185d39cbd2b78e1dcda46b1b1138dc 100644 --- a/src/plugins/jobacct/aix/jobacct_aix.c +++ b/src/plugins/jobacct/aix/jobacct_aix.c @@ -350,10 +350,10 @@ static void _get_process_data() proc.pi_ru.ru_stime.tv_usec * 1e-6; prec->pages = proc.pi_majflt; prec->rss = (proc.pi_trss + proc.pi_drss) * 4; - prec->rss *= 1024; + //prec->rss *= 1024; prec->vsize = (proc.pi_tsize / 1024); prec->vsize += (proc.pi_dvm * 4); - prec->vsize *= 1024; + //prec->vsize *= 1024; /* debug("vsize = %f = %d/1024+%d", */ /* prec->vsize, proc.pi_tsize, proc.pi_dvm * 4); */ } @@ -381,10 +381,11 @@ static void _get_process_data() jobacct->max_vsize = jobacct->tot_vsize = MAX(jobacct->max_vsize, (int)prec->vsize); - jobacct->max_pages = jobacct->tot_pages - = MAX(jobacct->max_pages, prec->pages); + jobacct->max_pages = jobacct->tot_pages = + MAX(jobacct->max_pages, prec->pages); jobacct->min_cpu = jobacct->tot_cpu = - (prec->usec + prec->ssec); + MAX(jobacct->min_cpu, + (prec->usec + prec->ssec)); debug2("%d size now %d %d time %d", jobacct->pid, jobacct->max_rss, jobacct->max_vsize, jobacct->tot_cpu); diff --git a/src/plugins/jobacct/common/jobacct_common.c b/src/plugins/jobacct/common/jobacct_common.c index 1b73f38d6822bcb2d15b40a7dd3c8ac2c6038c6b..440db011af6670c798f35cfdef656c1fe17c5330 100644 --- a/src/plugins/jobacct/common/jobacct_common.c +++ b/src/plugins/jobacct/common/jobacct_common.c @@ -59,7 +59,7 @@ extern int common_init_struct(struct jobacctinfo *jobacct, uint16_t tid) jobacct->max_pages = 0; jobacct->max_pages_task = tid; jobacct->tot_pages = 0; - jobacct->min_cpu = (uint32_t)NO_VAL; + jobacct->min_cpu = 0; jobacct->min_cpu_task = tid; jobacct->tot_cpu = 0; @@ -242,10 +242,7 @@ extern void common_aggregate(struct jobacctinfo *dest, } dest->tot_pages += from->tot_pages; - if((dest->min_cpu > from->min_cpu) - || (dest->min_cpu == (uint32_t)NO_VAL)) { - if(from->min_cpu == (uint32_t)NO_VAL) - from->min_cpu = 0; + if((dest->min_cpu > from->min_cpu)) { dest->min_cpu = from->min_cpu; dest->min_cpu_task = from->min_cpu_task; } diff --git a/src/plugins/jobacct/linux/jobacct_linux.c b/src/plugins/jobacct/linux/jobacct_linux.c index acff1f2b1d66415a3149056ac803ad273375105e..09f444c9750760953c61e92d4d109674f32365d2 100644 --- a/src/plugins/jobacct/linux/jobacct_linux.c +++ b/src/plugins/jobacct/linux/jobacct_linux.c @@ -406,10 +406,11 @@ static void _get_process_data() { MAX(jobacct->max_rss, prec->rss); jobacct->max_vsize = jobacct->tot_vsize = MAX(jobacct->max_vsize, prec->vsize); - jobacct->max_pages = jobacct->tot_pages - = prec->pages; + jobacct->max_pages = jobacct->tot_pages = + MAX(jobacct->max_pages, prec->pages); jobacct->min_cpu = jobacct->tot_cpu = - prec->usec + prec->ssec; + MAX(jobacct->min_cpu, + (prec->usec + prec->ssec)); debug2("%d size now %d %d time %d", jobacct->pid, jobacct->max_rss, jobacct->max_vsize, jobacct->tot_cpu);