솔라리스에서averageReadTime 및averageWriteTime(디스크 I/O) 가져오기

솔라리스에서averageReadTime 및averageWriteTime(디스크 I/O) 가져오기

"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 사이트에서 직접 다운로드해야 한다고 생각합니다.

관련 정보