現在のディスクのロード

現在のディスクのロード

私は現在1秒あたりのディスクロードiostat -dx 1(特に%util列)を取得するためにiostatを使用しています。しかし、私はこれをbashスクリプトに入れて、次のようにwatch間隔を制御したいと思いますwatch -n 1 ./script.sh

次のコマンドを実行すると、script.sh何も印刷されません。

io_load=`iostat -dx 1`
echo $io_load

どんなアイデアがありますか?

答え1

あなたはiostat -dx 1終了せずに引き続き価値を報告します。 (1計算間隔を示します。)

あなたは次のようなものが欲しいかもしれません

io_load=$(iostat -dx)
echo "$io_load"

答え2

マニュアルページには次のようiostatに記載されています。

   The interval parameter specifies the amount of time in seconds between each
   report.  The  first  report  contains  statistics for the time since system
   startup (boot), unless the -y option is used (in this case, this report  is
   omitted).   Each subsequent report contains statistics collected during the
   interval since the previous report. 

つまり、最初の出力はiostat -dx 1と同じですiostat -dxが、後続の出力は異なります。 - を使用してこの動作を再現することはできませんwatch

関連情報