Saída de / proc / diskstats no ubuntu

3

alguém pode me informar sobre o 11º campo em / proc / diskstats? A documentação diz que é ponderado o número de milissegundos gastos fazendo I / Os. É como # de milissegundos gastos para o DiskIO em um segundo?

Eu registrei esse valor a cada 200ms depois de subtrair o valor anterior e observei o valor tão alto quanto 7000. Eu preciso plotar um gráfico mostrando a taxa de E / S do disco. Aqui está o script:

#!/bin/bash

PREV_TOTAL=0

echo "" >> $1
while true; do

  numbers=( $(tail -3 < /proc/diskstats | head -2 | awk '{print $14}' ) )  ; 
  let "TOTAL=$((${numbers[0]} + ${numbers[1]}))"
  let "DIFF_TOTAL=$TOTAL-$PREV_TOTAL"
  time='date +%s%N'
  echo "$time $DIFF_TOTAL" >> $1
  PREV_TOTAL="$TOTAL"
# Wait before checking again.
  sleep 0.2
done

Alguém pode explicar esse campo?

    
por Gaurav 07.02.2013 / 19:01

2 respostas

4

Na documentação :

Field 11 -- weighted # of milliseconds spent doing I/Os
    This field is incremented at each I/O start, I/O completion, I/O
    merge, or read of these stats by the number of I/Os in progress
    (field 9) times the number of milliseconds spent doing I/O since the
    last update of this field.  This can provide an easy measure of both
    I/O completion time and the backlog that may be accumulating.

O campo é incrementado pelo tempo gasto fazendo IO multiplicado pelo número de solicitações IO em andamento, de modo que o tempo é ponderado pelo número de solicitações ativas. Leva em conta o tamanho da fila de E / S.

Por exemplo, uma máquina fazendo IO constantemente durante o último segundo, mas a fila nunca maior que 1 solicitação teria um valor de 1000. Uma máquina também fazendo IO constantemente no último segundo, mas com um comprimento médio de fila de 10 os pedidos teriam um valor de 10 000.

    
por 07.02.2013 / 19:19
2

de: link

Campo 11 - ponderação do número de milissegundos gasto em E / S:

    This field is incremented at each I/O start, I/O completion, I/O
    merge, or read of these stats by the number of I/Os in progress
    (field 9) times the number of milliseconds spent doing I/O since the
    last update of this field.  This can provide an easy measure of both
    I/O completion time and the backlog that may be accumulating.
    
por 07.02.2013 / 19:13