[torquedev] job logging showjobs vmem patch
Gareth.Williams at csiro.au
Gareth.Williams at csiro.au
Tue Jan 24 02:15:16 MST 2012
> -----Original Message-----
> From: torquedev-bounces at supercluster.org [mailto:torquedev-
> bounces at supercluster.org] On Behalf Of Gareth.Williams at csiro.au
> Sent: Thursday, 19 January 2012 4:02 PM
> To: torquedev at supercluster.org
> Subject: [ExternalEmail] Re: [torquedev] job logging showjobs vmem
> patch
>
> > -----Original Message-----
> > From: torquedev-bounces at supercluster.org [mailto:torquedev-
> > bounces at supercluster.org] On Behalf Of Ken Nielson
> > Sent: Tuesday, 17 January 2012 4:42 AM
> > To: Torque Developers mailing list
> > Subject: Re: [torquedev] job logging showjobs vmem patch
> >
> > Gareth,
> >
> > I see what you mean. If you have time and are willing to fix this for
> > array jobs we would be very happy.
> >
> > Ken
> >
> > ----- Original Message -----
> > > From: "Gareth Williams" <Gareth.Williams at csiro.au>
> > > To: torquedev at supercluster.org
> > > Sent: Sunday, January 15, 2012 9:17:31 PM
> > > Subject: Re: [torquedev] job logging showjobs vmem patch
> > >
> > > I've just noticed that array jobs are not particularly well handled
> > > by the showjobs script:
> -snip-
>
> Here's a patch for showjobs to handle array jobs better. There is a
> second path to express memory in mebibytes or gibibytes if the values
> are big enough (someone local asked for that - and it is meant to be
> human readable). I noticed that there is a job record for the whole
> array which has some value but it contains Output and Error file fields
> which (currently) no such files are created.
>
> Gareth
Hi Ken,
I'm sorry to say there was a bug in the first patch - the first bit of new code needed to be in the block above. I'm also worried that my email is mangling text - maybe related to mixed line endings in the file.
I'll send a zipped attachment of my current version directly to you for Adaptive to consider.
Gareth
>
> --- /apps/torque/bin/showjobs 2012-01-16 19:37:43.336090321 +1100
> +++ showjobs 2012-01-19 14:42:48.032725413 +1100
> @@ -73,6 +73,11 @@
> }
> }
>
> +# treat brackets as literal in job id for array jobs
> +$specifiedJobId =~ s/\[/\\\[/g;
> +$specifiedJobId =~ s/\]/\\\]/g;
> +
> +
> # Build a sorted list of job files
> chdir("${torqueHomeDir}/job_logs")
> or die
> @@ -265,7 +270,7 @@
> if (
> defined $specifiedJobId
> && (! defined $jobAttr{'Job Id'}
> - || $jobAttr{'Job Id'} !~ /^${specifiedJobId}\b/)
> + || $jobAttr{'Job Id'} !~
> /^${specifiedJobId}(?:.|\b)/)
> );
> next
> if (
>
> --- showjobs 2012-01-19 15:57:42.517901727 +1100
> +++ showjobs.mgb 2012-01-19 15:46:36.319334573 +1100
> @@ -185,11 +185,11 @@
> }
> elsif ($line =~ /<mem>([^<]+)</ && $context eq
> 'resources_used')
> {
> - $jobAttr{'Memory Used'} = $1;
> + $jobAttr{'Memory Used'} = ktoMG($1);
> }
> elsif ($line =~ /<vmem>([^<]+)</ && $context eq
> 'resources_used')
> {
> - $jobAttr{'vmem Used'} = $1;
> + $jobAttr{'vmem Used'} = ktoMG($1);
> }
> elsif ($line =~ /<opsys>([^<]+)</ && $context eq
> 'resource_List')
> {
> @@ -414,6 +414,31 @@
> else { return sprintf('%02d:%02d:%02d', $hours, $minutes,
> $seconds); }
> }
>
> +
> +######################################################################
> ##########
> +# $ktoMG = ktoMG($kilo)
> +# Converts kilo units to mega or giga (mebi and gibi)
> +# k, M and G are used rather than the more correct Ki, Mi and Gi
> +######################################################################
> ##########
> +sub ktoMG
> +{
> + my ($value) = @_;
> + if ($value =~ /^\s*(\d+)k/) {
> + my $k = $1;
> + if ($k > 1024) {
> + my $M = $k / 1024;
> + if ($M > 1024) {
> + my $G = $M / 1024;
> + $G = sprintf("%.1f", $G);
> + $value =~ s/${k}k/${G}G/;
> + } else {
> + $M = sprintf("%.1f", $M);
> + $value =~ s/${k}k/${M}M/;
> + }
> + }
> + }
> + return $value;
> +}
>
> #######################################################################
> #######
>
> __END__
> _______________________________________________
> torquedev mailing list
> torquedev at supercluster.org
> http://www.supercluster.org/mailman/listinfo/torquedev
More information about the torquedev
mailing list