Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> Method R and CPU Time
I'm having a hard time determining how much time is actually spent on CPU,
Consider the following
Runtime TRACE_ID EVENT WAITS WAIT_SECS ELAPSED_SECS CPU_SECS 25-JUN-2004 12:05 nlco_ora_7279 db file sequential read 96 .27 14.29 13.07 25-JUN-2004 12:05 db file scattered read 378 7.14 14.29 13.07 25-JUN-2004 12:05 SQL*Net message from client 475 1.34 14.29 13.07 *************************** ----- ----- sum 949 8.75
The CPU_SECS + WAIT_SECS should equal elapsed secs at least approximately. I know there is some double counting between the file i/o waits and the CPU's but 13.07 + 8.75 = 21.82 and 21.82/14.29 * 100 = anout 153%. That's a lot more than the incidental double-counting error Cary speaks of in his book.
This particular machine has 4 CPU's and when looking at CPU usage at the system level one needs to take that into account. But what about for individual statements that are not parallelized; i.e., running against one and only one CPU, does one need to divide the CPU results by four on a four CPU machine.
Ian MacGregor
Stanford Linear Accelerator Center
iam_at_slac.stanford.edu