Think about it. If my goal is to get a general idea of the load on the machine, I would probably be better off, including IOWAIT_TICKS in the numerator and denominator, to understand how long the CPU is not available for my work.
SELECT (
(select value from v$osstat where stat_name = 'BUSY_TICKS') +
(select value from v$osstat where stat_name = 'IOWAIT_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;
This would ensure that if the machine had a high level of competition or IO expectations, I would not be fooled and add the problem by completing more tasks.
source
share