How to Interpret the OS stats section of an AWR report (文档 ID 762526.1)

来源:互联网 发布:应聘php 编辑:程序博客网 时间:2024/04/28 20:58

In this Document

 Goal Fix

APPLIES TO:

Oracle Server - Enterprise Edition - Version 10.2.0.1 and later
Information in this document applies to any platform.

GOAL

This article outline how to read the OS Stats section of an AWR report, and outlines what that section tells the user with regards to the CPU utilization.

FIX

Thew following is an example section of an AWR OS Statistics section with annotation in the column to the right: 

Statistic                                       Total
-------------------------------- --------------------
NUM_LCPUS                                           0  /* probably 0 because LPARs not set up */
NUM_VCPUS                                           0  /* same thing */
AVG_BUSY_TIME                                  77,518  /* BUSY_TIME / NUM_CPUS */
AVG_IDLE_TIME                                 281,226  /* IDLE_TIME / NUM_CPUS */
AVG_IOWAIT_TIME                                24,128  /* IOWAIT_TIME / NUM_CPUS */
AVG_SYS_TIME                                    5,664  /* SYS_TIME / NUM_CPUS */
AVG_USER_TIME                                  71,747  /* USER_TIME / NUM_CPUS */
BUSY_TIME                                     621,022  /* time equiv of %usr+%sys in sar output */
IDLE_TIME                                   2,250,637  /* time equiv of %idle in sar */
IOWAIT_TIME                                   193,913  /* time equiv of %wio in sar */
SYS_TIME                                       46,166  /* time equiv of %sys in sar */
USER_TIME                                     574,856  /* time equiv of %usr in sar */
LOAD                                                0  /* meaning unclear */
OS_CPU_WAIT_TIME                              677,100  /* supposedly time waiting on run queues */
RSRC_MGR_CPU_WAIT_TIME                              0  /* time waited coz of resource manager */
PHYSICAL_MEMORY_BYTES                  16,508,780,544  /* total memory in use supposedly */
NUM_CPUS                                            8  /* number of CPUs reported by OS */
NUM_CPU_CORES                                       4  /* number of CPU sockets on motherboard */


So if you want to convert the times (expressed in seconds) back into percentages, then total elapsed time is following:

e = BUSY_TIME            + IDLE_TIME + IOWAIT TIME 
or
e = SYS_TIME + USER_TIME + IDLE_TIME + IOWAIT_TIME 
        (since BUSY_TIME = (SYS_TIME+USER_TIME) )


E should also be roughly close to the elapsed time of the report:

 (59.78 min * 60 seconds/min * 8 (NUM_CPUS))


However, since the report itself takes time to run (actually the snapshots take time as well). Neither the snapshot, the V$ tables that the snapshot is taken from nor the report itself are from a single consistent point in time.

At this point you can see,

(BUSY_TIME / e) = %busy

CPU used by this session                  234,148           65.3         112.4



This is CPU time Oracle reports it used (though we don't include time spent in SQL*Net code and maybe not all background processes may be reporting the CPU time they used). It is expressed in centiseconds (1/100th of a second) rather than seconds.  So:

234,148 / (e * 100)


will tell you what percent of the total CPU resources on the machine Oracle was keeping busy.
In fact it is probably easier to look at DB CPU statistic for this since that is already in seconds.

Note that:

BUSY_TIME - "DB CPU" = Activity outside of the database


i.e. the amount of CPU usage that seems to be because of things mostly happening outside the database.

  

相关内容

   
 

产品

   
  • Oracle Database Products > Oracle Database > Oracle Database > Oracle Database - Enterprise Edition > RDBMS
 

关键字

   
AWR;CPU
0 0
原创粉丝点击