Como medir IO de disco e rede com mais freqüência que um segundo?

1

Estou executando alguns experimentos que usam recursos de CPU, disco e rede. (a propósito, eu uso o Cent OS 7) Quero medir seu uso de recursos de CPU, disco e rede.

Algumas ferramentas que conheço (dstat, iostat) fornecem apenas um segundo como o intervalo mínimo entre duas medições.

Como posso fazer várias medições mesmo dentro de um segundo? Eu pesquisei muito, mas não consegui encontrar um.

Obrigado

    
por syko 01.07.2017 / 16:55

1 resposta

2

Espero que alguém possa indicá-lo para algumas ferramentas para fazer o que você quer, mas se não estiver e você está comprometido, você pode obter os dados diretamente da fonte. O iostat é apenas analisar arquivos especiais como / proc / diskstats e esses arquivos são atualizados sempre que você os lê. Acabei de fazer um teste rápido em que li diskstats muitas vezes por segundo e os valores mudavam a cada leitura.

A página do manual iostat lista os arquivos relevantes no final:

/proc/stat contains system statistics.

/proc/uptime contains system uptime.

/proc/partitions contains disk statistics (for pre 2.5 kernels that have been patched).

/proc/diskstats contains disks statistics (for post 2.5 kernels).

/sys contains statistics for block devices (post 2.5 kernels).

/proc/self/mountstats contains statistics for network filesystems.

/dev/disk contains persistent device names.

Não é muito difícil encontrar informações sobre o que os campos nesses arquivos representam. Por exemplo:

    The /proc/diskstats file displays the I/O statistics
    of block devices. Each line contains the following 14
    fields:
     1 - major number
     2 - minor mumber
     3 - device name
     4 - reads completed successfully
     5 - reads merged
     6 - sectors read
     7 - time spent reading (ms)
     8 - writes completed
     9 - writes merged
    10 - sectors written
    11 - time spent writing (ms)
    12 - I/Os currently in progress
    13 - time spent doing I/Os (ms)
    14 - weighted time spent doing I/Os (ms)
    For more details refer to Documentation/iostats.txt
    
por 02.07.2017 / 06:10