Carga de disco atual

2

Estou usando o iostat para obter a carga de disco atual a cada segundo com iostat -dx 1 (especialmente, coluna% util). No entanto, gostaria de colocar isso em um script bash e controlar o intervalo com o comando watch , como: watch -n 1 ./script.sh .

A execução do seguinte em script.sh não imprime nada:

io_load='iostat -dx 1'
echo $io_load

Alguma idéia?

    
por Jay 30.12.2014 / 16:38

2 respostas

0

A página man de iostat diz:

   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. 

Isso significa que a primeira saída de iostat -dx 1 será igual a iostat -dx , mas as saídas subsequentes são diferentes. - Você não pode reproduzir esse comportamento usando watch .

    
por 30.12.2014 / 17:12
1

Seu iostat -dx 1 não terminará e informará continuamente os valores. (O 1 refere-se ao intervalo para a contagem.)

Você provavelmente quer algo como

io_load=$(iostat -dx)
echo "$io_load"
    
por 30.12.2014 / 16:44