문제
Oracle View v $ osstat에는 다음을 포함하여 몇 가지 운영 통계가 있습니다.
- idle_ticks 프로세서가 유휴 상태 인 수백 분의 1 초, 모든 프로세서에 걸쳐 총액
- Busy_ticks 프로세서가 사용자 또는 커널 코드를 실행하는 데 바빴던 수백 분의 1 초
내가 읽은 문서는 이것들이 지금까지 재설정되는지 명확하지 않았습니다. 아는 사람 있나요?
내가 가진 또 다른 질문은 시스템이 경험하는 평균 CPU로드를 해결하고 싶다는 것입니다. 그렇게하려면 가야한다고 기대합니다.
busy_ticks / (idle_ticks + busy_ticks)
이 올바른지?
11 월 08 일 업데이트
Oracle 10G R2에는이 테이블에로드라는 통계가 포함되어 있습니다. 값을 읽을 때와 같이 기계의 현재 하중을 제공합니다. *_ticks 데이터가 현재 시점이 아닌 인스턴스가 시작된 이후로 다른 정보를 사용하는 것보다 훨씬 낫습니다.
해결책
'iowait_ticks'를 사용할 수있는 경우 포함해야합니다.
idle_ticks- 프로세서가 유휴 상태 인 수백 분의 1 초, 모든 프로세서에 걸쳐 총액
Busy_ticks- 프로세서가 사용자 또는 커널 코드를 실행하는 데 바빴던 수백 분의 1 초, 모든 프로세서에 걸쳐 총계
iOwait_ticks- 프로세서가 I/O가 완료되기를 기다리는 수백 분의 1 초, 총체적인 모든 프로세서를 통해 총 LED
다음은 쿼리입니다.
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으로 변경되었습니다.
데이터베이스 인스턴스가 종료되면 동적보기의 누적 값이 재설정됩니다.
보다 자동 성능 통계 그리고 v $ osstat 더 많은 정보를 위해서.
다른 팁
user_ticks와 sys_ticks를 포함시켜야한다고 확신하지 않습니다.
Busy_ticks에 대한 문서 :
"...been busy executing user or kernel code, totalled over all processors"
Busy_ticks에는 이미 user_ticks 및 sys_ticks가 포함되어 있음을 시사합니다.
nice_ticks와 동일합니다 - 여전히 사용자 시간입니다 (우선 순위가 낮음).
Iowait_ticks를 포함하는 것은 필요한 것 같습니다.
내 목적이 전반적인 기계로드에 대한 감각을 얻는 것이라면, 백작성 및 분모에 iowait_ticks를 포함하여 내 작업에 사용할 수없는 CPU 시간의 양을 얻는 것이 좋습니다.
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;
이것은 기계의 IO 경합이나 대기 속도가 높은 경우 오도하지 않고 더 많은 일자리를 실행하여 문제를 더할 것입니다.
당신의 관점에 따라 다릅니다. 당신이 무엇을 알고 있는지 알면, 나는 당신이 옳다고 생각합니다.
당신은 바쁜 가치에 대해 맞습니다. 내 시스템 중 하나를 확인했으며 바쁘게 사용자 + SYS와 같습니다.
또한 내 시스템에서 항상 바쁘고 유휴 상태가 있음을 확인했습니다 (내 시스템에는 아이오이트가 없음).