disk bytes / s ler e escrever

2

Estou tentando descobrir como contar bytes lidos e escritos por segundo. No momento, o que estou fazendo é ler os dados de / proc / diskstats que se parecem com isso:

202 0 xvda 80702313 1132334 2823807338 426518304 89838477 177437957 2140229136 1696949080 0 142957364 2123455348

Eu li os campos 6 (setores / s leitura) e 10 (setores / s escritos) e multiplique-os por 512 (achei que é o valor correto verificando a saída do fdisk que está dizendo sectors of 1 * 512 = 512 bytes ) que deveria dar me o número de bytes. Pego 2 amostras e subtraio a primeira a partir desta e depois divido os valores resultantes pelo número de segundos entre as amostras. Não parece dar os resultados corretos embora. Alguem tem ideia de como isso deve ser feito? Estou procurando por algo semelhante ao que sar -b outputs

Obrigado

    
por gyre 14.01.2013 / 19:33

2 respostas

2

Porque você não pode comparar os dois. sar -b é em horários específicos, em um intervalo de 10 minutos ou o que você especificou no seu trabalho cron.

Mas / proc / diskstats é um valor de tempo de execução do kernel. Não é calculado em nenhum intervalo de tempo específico, mas mais do contador que o kernel mantém para a contabilidade. É de onde iostat lê os dados. Se você especificar iostat -xdk 5 5 então, a intervalos de 5 segundos, o iostat irá ler o arquivo / proc / diskstats e obter a média ponderada de dados a partir dele. Um ponto importante a ser observado é que / proc / diskstats não depende do tempo e, portanto, você não pode compará-lo com o sar -b que é executado em intervalos fixos e particulares no tempo.

Se você quiser uma descrição mais elaborada, posso verificar o código e dizer, mas agora é realmente tarde da noite aqui.

    
por 14.01.2013 / 19:55
0

Use o iostat com intervalo

iostat -d /dev/xvda <interval(sec)> <counter>

Faça o iostat em intervalos de 10 segundos

iostat -d /dev/xvda 10

Se você deseja obter resultados fáceis para ploting

iostat -d /dev/xvda 10 | grep xvda

Em seguida, você verá algo como seguir

xvda               1.30         3.28        38.68    1151011   13583372
xvda              15.00         0.00       100.00          0        100
xvda               0.00         0.00         0.00          0          0
xvda               0.00         0.00         0.00          0          0
xvda               5.00         0.00        32.00          0         32
xvda               0.00         0.00         0.00          0          0
xvda               0.00         0.00         0.00          0          0
xvda               8.00         0.00       240.00          0        240
xvda               0.00         0.00         0.00          0          0

Você deve sempre descartar a primeira linha porque esse é o total desde o início da máquina ou desde que o contador acabou.

Não sei ao certo o quão difícil é traçar com o grafite, você pode copiá-los e colá-los no Excel ou no LibraOffice Calc e criar o gráfico.

    
por 15.01.2013 / 20:07