I dislike temporary files too :-) Working in bash only, not sh:
#!/bin/bash
data()
{
grep h_vmem $SGE_ROOT/$SGE_CELL/common/accounting | \
sed -e "s/^.*virtual_free=//" \
-e "s/[:,].*//" \
-e "s/ -.*//" \
-e "s/g$//i" \
-e "s/M$/\/1024/" |\
bc -l |\
sort -n |\
uniq -c
}
gnuplot -e "set style fill solid;
set boxwidth 0.5;
set title 'SGE Memory Requests';
set xlabel 'GB Requested';
set ylabel 'Count (Log scale)';
set xrange [0:66];
set terminal png size 1900,1200;
set output 'SGE_mem_reqs.png';
set grid;
set xtics 4;
set ytics auto;
set logscale y;
plot \""<(data)"\" using 2:1 with boxes"
The <(data) will be replaced with something like /dev/fd/63 and used as input
file.
'SGE_mem_reqs.png' I had to put into single quotation marks.
-- Reuti
Am 21.01.2014 um 21:32 schrieb [email protected]:
>
>
> In the message dated: Mon, 20 Jan 2014 12:57:37 +0100,
> The pithy ruminations from Reuti on
> <Re: [gridengine users] qacct and resource requests> were:
> => Hi,
> =>
> => Am 20.01.2014 um 12:45 schrieb Winkler, Ursula
> ([email protected]):
> =>
> => > I’ve a question concerning “qacct” and resource requests. “qacct” prints
> out a lot of information – but little about resource requests that jobs asked
> for by “qsub –l …”.
> => > Of course it is possible to find out via “qacct –l” the jobs with a
> *particular* value (as one has to specify e.g. “qacct -l h_vmem=2.5G” …) but
> there doesn’t seem to exist a possibility to find out in a more direct way
> the values jobs have ordered (I need it for statistical purposes).
> =>
> => They are recorded in the "accounting" file in plain text in the field
> "category" (`man accounting`).
>
> I recently wanted to plot the distribution of memory requests ("-l
> h_vmem") in SGE jobs, and I wrote this:
>
> ============================================================
> #! /bin/bash
> grep -v QLOGIN $SGE_ROOT/$SGE_CELL/common/accounting |\
> grep h_vmem |\
> sed -e "s/^.*h_vmem=//" \
> -e "s/[:,].*//" \
> -e "s/ -.*//" \
> -e "s/g$//i" \
> -e "s/M$/\/1024/" |\
> bc -l |\
> sort -n |\
> uniq -c > /tmp/$$
> gnuplot << E-O-CMDS
>
> gnuplot << E-O-CMDS
> set style fill solid
> set boxwidth 0.5
> set title 'SGE Memory Requests'
> set xlabel 'GB Requested'
> set ylabel 'Count (Log scale)'
> set xrange [0:66]
> set terminal png size 1900,1200
> set output "SGE_mem_reqs.png"
> set grid
> set xtics 4
> set ytics auto
> set logscale y
> plot "/tmp/$$" using 2:1 with boxes
>
> E-O-CMDS
> rm -f /tmp/$$
> ============================================================
>
> (It would be cleaner if I could get gnuplot to accept both commands and
> data on stdin.) Note the use of 'log scale', since in our environment
> the default "h_vmem" request is 4GB, and that value is about 1000x
> more frequent the next most commonly requested memory resource in the
> accounting file.
>
>
> Mark
>
> =>
> => -- Reuti
> =>
> =>
> => > Would be great if somebody has an idea.
> => >
> => > Cheers, Ursula
> => >
> => > _______________________________________________
> => > users mailing list
> => > [email protected]
> => > https://gridengine.org/mailman/listinfo/users
> =>
> =>
> => _______________________________________________
> => users mailing list
> => [email protected]
> => https://gridengine.org/mailman/listinfo/users
> =>
> =>
>
> --
> Mark Bergman Biker, Rock Climber, Unix mechanic, IATSE #1 Stagehand
> '94 Yamaha GTS1000A^2
> [email protected]
>
> http://wwwkeys.pgp.net:11371/pks/lookup?op=get&search=bergman%40panix.com
>
> I want a newsgroup with a infinite S/N ratio! Now taking CFV on:
> rec.motorcycles.stagehands.pet-bird-owners.pinballers.unix-supporters
> 15+ So Far--Want to join? Check out: http://www.panix.com/~bergman
_______________________________________________
users mailing list
[email protected]
https://gridengine.org/mailman/listinfo/users