Oracle视图V $ OSSTAT具有一些运行统计信息,包括:

  • IDLE_TICKS处理器空闲的百分之一秒数,占所有处理器的总数
  • BUSY_TICKS处理器忙于执行用户或内核代码的百分之一秒,共计所有处理器

  • 我阅读的文档尚不清楚是否重置了这些文档。有人知道吗?

    我还有一个问题是,我想算出系统正在经历的平均CPU负载。为此,我希望我必须去:
    busy_ticks / (idle_ticks + busy_ticks)
    

    这样对吗?

    更新11月08日

    Oracle 10g r2在此表中包含一个称为LOAD的统计信息。它提供了读取值时机器的当前负载。这比使用其他信息要好得多,因为* _ticks数据是“因为实例开始”而不是当前时间点的数据。

    最佳答案

    如果可用,则需要包括“IOWAIT_TICKS”。

    IDLE_TICKS-百分之一的数字
    其次,处理器已经闲置,
    所有处理器合计
    BUSY_TICKS-百分之一的秒数
    处理器一直在忙于执行
    用户或内核代码,总计
    处理器
    IOWAIT_TICKS-a的百分之一秒
    处理器一直在等待I / O
    完整,全部领导
    处理器

    这是一个查询。

    SELECT (select value from v$osstat where stat_name = 'BUSY_TICKS') /
    (
       NVL((select value from v$osstat where stat_name = 'IDLE_TICKS'),0) +
       NVL((select value from v$osstat where stat_name = 'BUSY_TICKS'),0) +
       NVL((select value from v$osstat where stat_name = 'IOWAIT_TICKS'),0)
    )
    FROM DUAL;
    
    在10.2及更高版本中,名称_TICKS已更改为_TIME。
    关闭数据库实例时,将重置动态视图中的累积值。
    有关更多信息,请参见Automatic Performance Statisticsv$OSStat

    10-04 23:22