  | | | CPU Time calculation in AWR Reports | CPU Time calculation in AWR Reports 2007-11-05 - By Vlad Sadilovskiy
Back In this case it should be the same at the end of the day. Shouldn't it be?
After Jonathan posted his AWR observations, I couldn't reproduce similar behavior and don't believe the time is calculated as *CPU used by this session + recursive calls cpu usage*. At least not always. Here is a post Recursive Calls <http://vsadilovskiy.wordpress.com/2007/11/05/recursive-calls/> that demonstrates differences in reporting recursive calls CPU usage in various tools.
I agree that the source of *CPU used by this session* value in v$sysstat that is *definitely used* to report *CPU time* by Statspack might be different from the source of the *DB CPU* from v$sys_time_model that *I think* is used by AWR to report the same. The lack of definitive information about different DB usage patterns, doesn't allow clear demonstration of their correlation.
Vlad Sadilovskiy Oracle Database Tools Web site: http://www.fourthelephant.com Blog: http://vsadilovskiy.wordpress.com
On 11/2/07, LS Cheng <exriscer@(protected)> wrote: > > I think the difference may be because v$sysstat is refreshed after a call > is completed but in SYS_TIME_MODEL_CPU it gets refreshed every 3 seconds > > > Thanks > > -- > LSC > > On Nov 1, 2007 6:10 PM, Tanel Poder < tanel.poder.003@(protected)> wrote: > > > Well you can trace the awrrpt run... > > > > I suspect (but don't know for sure) that AWR uses > > DBA_HIST_SYS_TIME_MODEL > > for its CPU info... V$SYS_TIME_MODEL CPU values can differ from > > V$SYSSTAT > > ones... > > > > SQL> select > > 2 a.value/1000000 time_model_seconds, > > 3 b.value/10000 sysstat_seconds, > > 4 a.value/1000000 - b.value/10000 missing_seconds > > 5 from > > 6 v$sys_time_model a, > > 7 v$sysstat b > > 8 where > > 9 a.stat_name = 'DB CPU' > > 10 and b.name = 'CPU used by this session' > > 11 / > > > > TIME_MODEL_SECONDS SYSSTAT_SECONDS MISSING_SECONDS > > -- ---- ---- ----- -- ---- ---- -- -- ---- ---- -- > > 126.997282 4.6276 122.369682 > > > > > > -- > > Regards, > > Tanel Poder > > http://blog.tanelpoder.com > > > > > > > -- --Original Message-- -- > > > From: oracle-l-bounce@(protected) > > > [mailto:oracle-l-bounce@(protected) ] On Behalf Of Luis > > > Fernando Cerri > > > Sent: Thursday, November 01, 2007 23:20 > > > To: oracle-l@(protected) > > > Subject: CPU Time calculation in AWR Reports > > > > > > Hello, list. > > > > > > At Statspack age, 'CPU Time' value in section 'Top 5 Timed > > > Events' was calculated as the difference of 'CPU used by this > > > session' values between two snapshots: > > > > > > select 'CPU' , (e.value-b.value)/100 time > > > from stats$sysstat b, stats$sysstat e > > > where e.snap_id = :v_eid > > > and b.snap_id = :v_bid > > > and e.name = 'CPU used > > > by this session' > > > and b.name = 'CPU used > > > by this session'; > > > > > > > > > > > > -- > > http://www.freelists.org/webpage/oracle-l > > > > > > > > > >
<div>In this case it should be the same at the end of the day. Shouldn't it be?</div> <div> </div> <div>After Jonathan posted his AWR observations, I couldn't reproduce  ;similar behavior and don't believe the time is calculated as <strong>CPU used by this session + recursive calls cpu usage</strong>. At least not always. Here is a post <a href="http://vsadilovskiy.wordpress.com/2007/11/05/recursive-calls/" >Recursive Calls</a> that demonstrates differences in reporting recursive calls CPU usage in various tools. </div> <div> </div> <div>I agree that the source of <strong>CPU used by this session< /strong> value in v$sysstat that is <em>definitely used</em> to report <strong>CPU time</strong> by Statspack might be different from the source of the <strong> DB CPU</strong> from v$sys_time_model that <em>I think</em> is used by AWR to report the same. The lack of definitive information about different DB usage patterns, doesn't allow clear demonstration of their correlation. <br> </div> <div>Vlad Sadilovskiy<br>Oracle Database Tools<br>Web site: <a href="http://www .fourthelephant.com/">http://www.fourthelephant.com</a><br>Blog: <a href="http:/ /vsadilovskiy.wordpress.com/">http://vsadilovskiy.wordpress.com </a><br><br> </div> <div><span class="gmail_quote">On 11/2/07, <b class="gmail_sendername">LS Cheng </b> <<a href="mailto:exriscer@(protected)">exriscer@(protected)</a>> wrote:< /span> <blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0 .8ex; BORDER-LEFT: #ccc 1px solid">I think the difference may be because v $sysstat is refreshed after a call is completed but in SYS_TIME_MODEL_CPU it gets refreshed every 3 seconds <br><br><br>Thanks<br><span class="sg"><br>--<br>LSC</span> <div><span class="e" id="q_1160029c02bf811d_2"><br><br> <div class="gmail_quote">On Nov 1, 2007 6:10 PM, Tanel Poder < <a onclick= "return top.js.OpenExtLink(window,event,this)" href="mailto:tanel.poder.003@(protected) .ee" target="_blank">tanel.poder.003@(protected)</a>> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0 .8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">Well you can trace the awrrpt run ... <br><br>I suspect (but don't know for sure) that AWR uses DBA_HIST_SYS _TIME_MODEL <br>for its CPU info... V$SYS_TIME_MODEL CPU values can differ from V$SYSSTAT <br>ones...<br><br>SQL> select<br> 2 a.value/1000000 time _model_seconds, <br> 3 b.value/10000 sysstat_seconds, <br> 4 a.value/1000000 - b.value/10000 missing_seconds<br> 5 from<br> 6 v $sys_time_model a,<br> 7 v$sysstat b<br> 8 where <br> 9 a.stat_name = 'DB CPU' <br> 10 and <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://b.name/" target="_blank"> b.name</a> = 'CPU used by this session'<br> 11 /<br><br>TIME _MODEL_SECONDS SYSSTAT_SECONDS MISSING_SECONDS<br>-- ---- ---- ----- -- ---- --- ---- -- ---- ---- -- <br> 126.997282 4.6276 122.369682 <br><font color="#888888"><br><br>--<br>Regards,<br>Tanel Poder<br><a onclick= "return top.js.OpenExtLink(window,event,this)" href="http://blog.tanelpoder.com/ " target="_blank">http://blog.tanelpoder.com</a><br></font> <div><br><br>> -- --Original Message-- --<br>> From: <a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:oracle-l-bounce@(protected) .org" target="_blank">oracle-l-bounce@(protected)</a><br>> [mailto: <a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:oracle-l -bounce@(protected)" target="_blank">oracle-l-bounce@(protected) </a>] On Behalf Of Luis<br>> Fernando Cerri<br>> Sent: Thursday, November 01, 2007 23:20 <br>> To: <a onclick="return top.js.OpenExtLink(window,event,this)" href= "mailto:oracle-l@(protected)" target="_blank">oracle-l@(protected)</a><br> > Subject: CPU Time calculation in AWR Reports <br>><br>> Hello, list. <br>><br>> At Statspack age, 'CPU Time' value in section 'Top 5 Timed<br>> Events' was calculated as the difference of 'CPU used by this<br>> session' values between two snapshots: <br> ><br>> select 'CPU' , (e.value-b.value)/100 time<br>> from stats$sysstat b, stats$sysstat e<br>> where e.snap_id = :v_eid <br>> and b.snap_id = :v_bid<br>> and <a onclick="return top.js.OpenExtLink(window,event,this)" href ="http://e.name/" target="_blank">e.name</a> = 'CPU used <br>> by this session'<br>> and <a onclick="return top.js .OpenExtLink(window,event,this)" href="http://b.name/" target="_blank">b.name</a > = 'CPU used<br>> by this session'; <br>><br>><br><br> </div> <div> <div></div> <div>--<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http ://www.freelists.org/webpage/oracle-l" target="_blank">http://www.freelists.org /webpage/oracle-l</a><br><br><br> </div></div></blockquote></div> <br></span></div></blockquote></div><br>
|
|
 |