diff --git a/src/common/slurm_protocol_api.c b/src/common/slurm_protocol_api.c index e4dbf4996e2dc1b22905ffae4c48ea36a0f8e2dc..42473f1664913d972e90b8f40ff181a4ad35cfee 100644 --- a/src/common/slurm_protocol_api.c +++ b/src/common/slurm_protocol_api.c @@ -2829,8 +2829,8 @@ extern void convert_num_unit(float num, char *buf, int buf_size, int orig_type) { char *unit = "\0KMGP?"; int i = (int)num % 512; - - if(i > 0 || (int)num == 0) { + + if((i > 0 && num < 1024) || (int)num == 0) { snprintf(buf, buf_size, "%d%c", (int)num, unit[orig_type]); return; } diff --git a/src/sacct/options.c b/src/sacct/options.c index 76d8f8c60a3438337ac5a939cfc5dbcc25ada915..c1f56487f46afc58c73cc12ee01096433b83945c 100644 --- a/src/sacct/options.c +++ b/src/sacct/options.c @@ -307,11 +307,6 @@ int get_data(void) /* now aggregate the aggregatable */ job->alloc_cpus = MAX(job->alloc_cpus, step->ncpus); - step->sacct.ave_rss *= 1024; - step->sacct.max_rss *= 1024; - step->sacct.ave_vsize *= 1024; - step->sacct.max_vsize *= 1024; - if(step->state < JOB_COMPLETE) continue; job->tot_cpu_sec += step->tot_cpu_sec; diff --git a/src/sacct/print.c b/src/sacct/print.c index 61a70f8e4f8ca7284923fc84ef62475803c8c533..91c1231b18a2028a5ce4a09f22c55e8878eb188f 100644 --- a/src/sacct/print.c +++ b/src/sacct/print.c @@ -617,13 +617,13 @@ void print_rss(type_t type, void *object) nodes = job->nodes; pos = sacct.min_cpu_id.nodeid; convert_num_unit((float)sacct.max_rss, buf1, sizeof(buf1), - UNIT_NONE); + UNIT_KILO); if(job->track_steps) snprintf(outbuf, FORMAT_STRING_SIZE, "%s/- - -", buf1); else { convert_num_unit((float)sacct.ave_rss, - buf2, sizeof(buf2), UNIT_NONE); + buf2, sizeof(buf2), UNIT_KILO); find_hostname(pos, nodes, buf3); snprintf(outbuf, FORMAT_STRING_SIZE, "%s/%s:%u - %s", buf1, @@ -638,9 +638,9 @@ void print_rss(type_t type, void *object) nodes = step->nodes; pos = sacct.min_cpu_id.nodeid; convert_num_unit((float)sacct.max_rss, buf1, sizeof(buf1), - UNIT_NONE); + UNIT_KILO); convert_num_unit((float)sacct.ave_rss, buf2, sizeof(buf2), - UNIT_NONE); + UNIT_KILO); find_hostname(pos, nodes, buf3); snprintf(outbuf, FORMAT_STRING_SIZE, "%s/%s:%u - %s", buf1, @@ -970,12 +970,12 @@ void print_vsize(type_t type, void *object) nodes = job->nodes; pos = sacct.min_cpu_id.nodeid; convert_num_unit((float)sacct.max_vsize, - buf1, sizeof(buf1),UNIT_NONE); + buf1, sizeof(buf1), UNIT_KILO); if(job->track_steps) snprintf(outbuf, FORMAT_STRING_SIZE, "%s/- - -", buf1); else { convert_num_unit((float)sacct.ave_vsize, - buf2, sizeof(buf2), UNIT_NONE); + buf2, sizeof(buf2), UNIT_KILO); find_hostname(pos, nodes, buf3); snprintf(outbuf, FORMAT_STRING_SIZE, "%s/%s:%u - %s", buf1, @@ -990,9 +990,9 @@ void print_vsize(type_t type, void *object) nodes = step->nodes; pos = sacct.min_cpu_id.nodeid; convert_num_unit((float)sacct.max_vsize, buf1, sizeof(buf1), - UNIT_NONE); + UNIT_KILO); convert_num_unit((float)sacct.ave_vsize, buf2, sizeof(buf2), - UNIT_NONE); + UNIT_KILO); find_hostname(pos, nodes, buf3); snprintf(outbuf, FORMAT_STRING_SIZE, "%s/%s:%u - %s", buf1, diff --git a/src/sstat/print.c b/src/sstat/print.c index 0ff252c9d25bce0afd3a79b21507d9d0e0fb5119..8057f4a12a2ce2a82c47463325b7cfc08be74561 100644 --- a/src/sstat/print.c +++ b/src/sstat/print.c @@ -298,13 +298,13 @@ extern void print_rss(type_t type, void *object) nodes = job->nodes; pos = sacct.min_cpu_id.nodeid; convert_num_unit((float)sacct.max_rss, buf1, sizeof(buf1), - UNIT_NONE); + UNIT_KILO); if(job->track_steps) snprintf(outbuf, FORMAT_STRING_SIZE, "%s/- - -", buf1); else { convert_num_unit((float)sacct.ave_rss, - buf2, sizeof(buf2), UNIT_NONE); + buf2, sizeof(buf2), UNIT_KILO); find_hostname(pos, nodes, buf3); snprintf(outbuf, FORMAT_STRING_SIZE, "%s/%s:%u - %s", buf1, @@ -319,9 +319,9 @@ extern void print_rss(type_t type, void *object) nodes = step->nodes; pos = sacct.min_cpu_id.nodeid; convert_num_unit((float)sacct.max_rss, buf1, sizeof(buf1), - UNIT_NONE); + UNIT_KILO); convert_num_unit((float)sacct.ave_rss, buf2, sizeof(buf2), - UNIT_NONE); + UNIT_KILO); find_hostname(pos, nodes, buf3); snprintf(outbuf, FORMAT_STRING_SIZE, "%s/%s:%u - %s", buf1, @@ -400,12 +400,12 @@ extern void print_vsize(type_t type, void *object) nodes = job->nodes; pos = sacct.min_cpu_id.nodeid; convert_num_unit((float)sacct.max_vsize, - buf1, sizeof(buf1),UNIT_NONE); + buf1, sizeof(buf1),UNIT_KILO); if(job->track_steps) snprintf(outbuf, FORMAT_STRING_SIZE, "%s/- - -", buf1); else { convert_num_unit((float)sacct.ave_vsize, - buf2, sizeof(buf2), UNIT_NONE); + buf2, sizeof(buf2), UNIT_KILO); find_hostname(pos, nodes, buf3); snprintf(outbuf, FORMAT_STRING_SIZE, "%s/%s:%u - %s", buf1, @@ -420,9 +420,9 @@ extern void print_vsize(type_t type, void *object) nodes = step->nodes; pos = sacct.min_cpu_id.nodeid; convert_num_unit((float)sacct.max_vsize, buf1, sizeof(buf1), - UNIT_NONE); + UNIT_KILO); convert_num_unit((float)sacct.ave_vsize, buf2, sizeof(buf2), - UNIT_NONE); + UNIT_KILO); find_hostname(pos, nodes, buf3); snprintf(outbuf, FORMAT_STRING_SIZE, "%s/%s:%u - %s", buf1, diff --git a/src/sstat/sstat.c b/src/sstat/sstat.c index 58f75d55df94ff5c51fdbf63c9ee3d86e662cdf4..62f246aebd05fe318efdb5e0d991b25e4ecf41ae 100644 --- a/src/sstat/sstat.c +++ b/src/sstat/sstat.c @@ -170,11 +170,6 @@ int _sstat_query(slurm_step_layout_t *step_layout, uint32_t job_id, cleanup: if(tot_tasks) { - step.sacct.ave_rss *= 1024; - step.sacct.max_rss *= 1024; - step.sacct.ave_vsize *= 1024; - step.sacct.max_vsize *= 1024; - step.sacct.ave_cpu /= tot_tasks; step.sacct.ave_cpu /= 100; step.sacct.min_cpu /= 100;