Bash

目前磁碟負載

  • December 30, 2014

我正在使用 iostat 每秒獲取目前磁碟負載iostat -dx 1(特別是 %util 列)。但是,我想把它放在一個 bash 腳本中,並使用以下watch命令控制間隔:watch -n 1 ./script.sh.

執行以下內容script.sh不會列印任何內容:

io_load=`iostat -dx 1`
echo $io_load

有任何想法嗎?

的手冊頁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.

iostat -dx 1不會終止並持續報告價值。(1指到計數的間隔。)

你可能想要類似的東西

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

引用自:https://unix.stackexchange.com/questions/176620