
IOSTAT 사용에 관해 온라인에서 상충되는 정보를 보았습니다. 특히 시작 이후 평균을 표시하고 싶습니다. 내가 읽은 바에 따르면 IOSTAT 명령을 실행하지 않으면 시작 이후 평균이 표시됩니다. 그러나 어느 시점에서 IOSTAT 명령을 실행하면 다음 실행은 시작 이후가 아니라 마지막 실행 이후가 됩니다.
이전에 한 번 실행한 적이 있다고 가정하고 시작 후 IOSTAT를 어떻게 실행합니까?
답변1
iostat
시작 이후 통계를 표시합니다.한 번(명령이 시작될 때마다가 아니라 명령이 실행될 때마다). 그런 다음 매개변수에 따라(예: running iostat 2
, 2초마다) 동일한 명령 run에서 마지막으로 표시된 이후의 통계를 표시합니다.
이것첫 번째 보고서시간에 대한 통계 정보를 제공하기 위해 iostat 명령에 의해 생성됨시스템 시작 이후, -y 옵션이 사용되지 않는 한(이 경우 첫 번째 보고서가 생략됨)각 후속 보고서적용 시간지난 보고 이후. iostat 명령이 실행될 때마다 모든 통계가 보고됩니다. 보고서는 CPU 헤더 줄과 CPU 통계 줄로 구성됩니다. 다중 프로세서 시스템에서 CPU 통계는 모든 프로세서의 평균으로 시스템 전체에서 계산됩니다. 장치 헤더 행이 표시되고 그 뒤에 구성된 각 장치에 대한 통계 행이 표시됩니다.
실제로 는 약간의 뺄셈에 불과 iostat
합니다 . 장부 관리 역할은 커널에 의해 수행됩니다. iostat
다양한 /proc
(또는 다른 유사한 항목)에 액세스하세요. 어디에서 (그냥 사용strace
존재하다 iostat 2
):
/proc/diskstats
/proc/uptime
/proc/stat
첫 번째 읽기는 시작 이후입니다. 마지막으로 표시된 이후 iostat
이전 값을 (런타임 시 메모리에) 기억 하고 새로 읽은 값에서 해당 값을 뺍니다. 이것이 해당 기간 동안 발생합니다.
OP의 질문을 확인하려면 각 iostat
명령 실행은 iostat
해당 명령의 다른 실행과 독립적입니다. 동시에 실행되는 다른 iostat
명령이나 iostat
이 명령의 향후 실행에는 영향을 주지 않습니다 .