"iostat -xnp" 명령에서 "평균 읽기 시간(ms)" 및 "평균 쓰기 시간(ms)"을 가져오는 데 어려움을 겪고 있습니다.
Linux에는 "읽는 데 소요된 시간(밀리초)" 및 "쓰기에 소요된 시간(밀리초)"뿐만 아니라 "완료된 읽기 수" 및 "완료된 쓰기 수"를 알려주는 "/proc/diskstats" 명령이 있습니다. 숫자를 입력하세요. 따라서 "읽는 데 소요된 시간"을 "완료된 읽기 수"로 나누어 평균 읽기 시간을 밀리초 단위로 얻을 수 있습니다.
비슷한 결과를 얻으려면 다음 방정식을 사용합니다. 오류가 있으면 정정해 주세요.
iostat의 출력 예:
------------------------
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
0.8 3.7 43.5 38.3 0.0 0.0 0.8 0.4 0 0 c0d0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0 0 c0t1d0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c2t1d0s2
Average_time_spent_reading(ms) = number_of_reads_per_second *average_service_time(ms)/(number_of_reads_per_second + number_of_write_per_second) .
평균 쓰기 시간(밀리초) = 초당 쓰기 수 * 평균 서비스 시간(밀리초) / (초당 읽기 수 + 초당 쓰기 수)
미리 감사드립니다.
답변1
DTrace를 사용하여 이 문제를 해결할 수 있습니다. DTrace 툴킷(http://www.brendangregg.com/dtracetoolkit.html) 어떻게 완료되었는지 확인할 수 있습니다. Solaris 11 이상 pkg install system/dtrace/dtrace-toolkit
에서는 Brendan 사이트에서 직접 다운로드해야 한다고 생각합니다.