「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秒あたりの書き込み数*平均サービス時間(ミリ秒)/(1秒あたりの読み取り数+1秒あたりの書き込み数)
よろしくお願いします。
答え1
DTraceを使用してこの問題を解決できます。 DTraceツールキット(http://www.brendangregg.com/dtracetoolkit.html)どのように完了したかを確認できます。 Solaris 11以降でpkg install system/dtrace/dtrace-toolkit
は、Brendanサイトから直接ダウンロードする必要があると思います。