There are no special SMF records for java stats per se. I must say, that the amount of CPU indicated in your table, is somewhat surprising, as java simply isnt that 'cheap'. Especially, when considering the elapsed time....java very rarely sits around NOT consuming CPU when it has 'things to do'!! The mere fact of just firing up the JVM can be very costly indeed. What often happens with java, is that the actual JVM is created in spawned/forked OMVS threads, that will be outside of the CPU captured by the standard JES job CPU that gets reported back. Have you kept an eye on SDSF DA while the java step is running? Are there BENCHSQx [x=1-9] address spaces being generated while the java step is running? Presuming this is the case, then the CPU time consumed by all those other address spaces should count towards to total time for the java step, although totting it all up is easier said than done!
On 8 October 2013 13:00, David Crayford <[email protected]> wrote: > I'm running a test case for one of our products that's currently in > development and I can't figure out how to account for the total CPU time > for a Java program that executes a DB2 query. > > I've got four steps running the same query in different programming > languages. The step statistics are like this > > CPU (Total) Elapsed CPU (TCB) > CPU (SRB) Service > Jobname Stepname ProcStep RC I/O hh:mm:ss.th hh:mm:ss.th hh:mm: > ss.th hh:mm:ss.th Units > BENCHSQL C 00 165 00.21 00.38 00.21 > 00.00 4628 > BENCHSQL JAVA SPAWN 00 17049 00.23 02.64 00.23 > 00.00 34448 > BENCHSQL LUA 00 724 00.32 00.88 00.32 > 00.00 7170 > BENCHSQL REXX 00 39 05.08 08.03 05.08 > 00.00 113K > > Java CPU time is very good but the elapsed time is high. I know this is > because of the overhead of the JVM doing a JIT compile but I want to be > able to include that in the report. What SMF > records report Java JVM stats and how do I correlate that to a job step? > > I've got a screen shot that shows the numbers http://imagebin.org/273074. > The 1E codes are actually SMF 30s, we haven't got round to converting them > to decimal yet. The 003 codes > are DB2 trace records. The DB2 trace record for the Java program seems > very low. It changes depending on the JDBC driver (2 or 4) but the job step > times remain the same. > > ------------------------------**------------------------------**---------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to [email protected] with the message: INFO IBM-MAIN > ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
