High Disk write não listado sob o iotop

6

Eu tenho problemas com alta E / S no meu servidor Debian 7.3 (até 7 segundos de espera média de E / S). Eu tentei descobrir o que está causando isso usando o iotop -o. Agora eu vejo sonething estranho: iotop me diz no topo 'Total DISK WRITE: 32.46M / s'. Mas na lista de tarefas não vejo nenhum processo escrevendo tanto no disco. Os mais altos são dois processos mysql com 90K / se 8K / se um processo kjournald. Todos os três estão listados com 99,99% IO. # Se eu adicionar toda a velocidade de escrita, não chego nem perto de 32MB / s.

Tela do iotop:

Oquehádeerradoaqui?Achoqueagravaçãode32,46MB/sestácorreta,porquenestemomentomeuservidordaWebtemumtempodecarregamentodepáginaalto,provavelmentecausadoporaltaE/S.Masporquea'grandetarefa',queusatantacapacidade,nãoestálistadanalistaabaixo?

Editar:Eutambémpossoclassificá-loporgravaçãoemdiscoetambémobtenhoresultadosestranhoscomoeste:

    
por Lion 08.02.2014 / 15:43

1 resposta

6

se você instalar o novo iotop (como 0.6.x de wheezy-backports), ele mostrará os valores "total" e "real". E man page dá a explicação

In addition, the total I/O bandwidth read and written during the sampling period is displayed at the top of the interface. Total DISK READ and Total DISK WRITE values represent total read and write bandwidth between processes and kernel threads on the one side and kernel block device subsystem on the other. While Actual DISK READ and Actual DISK WRITE values represent corresponding bandwidths for actual disk I/O between kernel block device subsystem and underlying hardware (HDD, SSD, etc.). Thus Total and Actual values may not be equal at any given moment of time due to data caching and I/O operations reordering that take place inside Linux kernel.

Não que a resposta me satisfaça completamente, mas pelo menos aponta para as possíveis razões para discrepância. Pode ser algum segmento do kernel, como metadados / diários do FS, ou processos de curta duração que começaram, faleceram e morreram antes de serem vistos.

Existem algumas questões relacionadas aqui e here . Para depuração, / proc / sys / vm / block_dump pode ser útil para encontrar a fonte.

    
por 04.12.2014 / 03:19

Tags