oracle11 处理器数,11G AWR中%Total CPU与%Busy CPU指标的疑问
ODM FINDING:
FROM http://www.os2ora.com/how-to-analyze-awr-report-1/??推薦??kaya 的這篇文章
引用如下:
如果關注數據庫的性能,那么當拿到一份AWR報告的時候,最想知道的第一件事情可能就是系統資源的利用情況了,而首當其沖的,就是CPU。
而細分起來,CPU可能指的是
OS級的User%, Sys%, Idle%
DB所占OS CPU資源的Busy%
DB CPU又可以分為前臺所消耗的CPU和后臺所消耗的CPU如果數據庫的版本是11g,那么很幸運的,這些信息在AWR報告中一目了然:
OS級的%User為75.4,%Sys為2.8,%Idle為21.2,所以%Busy應該是78.8。
DB占了OS CPU資源的69.1,%Busy CPU則可以通過上面的數據得到:
%Busy CPU = %Total CPU/(%Busy) * 100 = 69.1/78.8 * 100 = 87.69,和報告的87.7相吻合。
如果是10g呢,則需要手工對Report里的一些數據進行計算了。
Host CPU的結果來源于DBA_HIST_OSSTAT,AWR 報告里已經幫忙整出了這段時間內的絕對數據(這里的時間單位是centi second,也就是1/100秒)
這里,
%User = USER_TIME/(BUSY_TIME+IDLE_TIME)*100 = 146355/(152946+41230)*100 = 75.37
%Sys??= SYS_TIME/(BUSY_TIME+IDLE_TIME)*100
%Idle = IDLE_TIME/(BUSY_TIME+IDLE_TIME)*100
值得注意的,這里已經隱含著這個AWR報告所捕捉的兩個snapshot之間的時間長短了。有下面的公式
BUSY_TIME + IDLE_TIME = ELAPSED_TIME * CPU_COUNT
正確的理解這個公式可以對系統CPU資源的使用及其度量的方式有更深一步的理解。
因此ELAPSED_TIME = (152946+41230)/8/100 =??242.72 seconds
當然,這正確無誤。
至于DB對CPU的利用情況,這就涉及到10g新引入的一個關于時間統計的視圖了, v$sys_time_model,簡單而言,Oracle采用了一個統一的時間模型對一些重要的時間指標進行了記錄,具體而言,這些指標包括:
1) background elapsed time? ? 2) background cpu time? ?? ?? ? 3) RMAN cpu time (backup/restore)1) DB time? ? 2) DB CPU? ? 2) connection management call elapsed time? ? 2) sequence load elapsed time? ? 2) sql execute elapsed time? ? 2) parse time elapsed? ?? ?? ? 3) hard parse elapsed time? ?? ?? ?? ?? ? 4) hard parse (sharing criteria) elapsed time? ?? ?? ?? ?? ?? ???5) hard parse (bind mismatch) elapsed time? ?? ?? ? 3) failed parse elapsed time? ?? ?? ?? ?? ? 4) failed parse (out of shared memory) elapsed time? ? 2) PL/SQL execution elapsed time? ? 2) inbound PL/SQL rpc elapsed time? ? 2) PL/SQL compilation elapsed time? ? 2) Java execution elapsed time? ? 2) repeated bind elapsed time我們這里關注的只有和CPU相關的兩個: background cpu time 和 DB CPU。
這兩個值在AWR里面也有記錄:
Total DB CPU = DB CPU + background cpu time = 1305.89 + 35.91 = 1341.8 seconds
再除以總的 BUSY_TIME + IDLE_TIME
% Total CPU = 1341.8/1941.76 = 69.1%,這剛好與上面Report的值相吻合。
其實,在Load Profile部分,我們也可以看出DB對系統CPU的資源利用情況。
用DB CPU per Second除以CPU Count就可以得到DB在前臺所消耗的CPU%了。
這里 5.3/8 = 66.25 %
比69.1%稍小,說明DB在后臺也消耗了大約3%的CPU,這是不是一個最簡單的方法了呢?
總結
以上是生活随笔為你收集整理的oracle11 处理器数,11G AWR中%Total CPU与%Busy CPU指标的疑问的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在布局空间标注的尺寸量不对_卫生间最佳布
- 下一篇: 蒙特卡罗模拟法 —— python