kworker consumindo + 90% de IO e gravação de disco zero

Este é um server web apache padrão no AWS Linux AMI + EBS. Estamos percebendo alta cairga média (+8) e iotop -a mostra:

 Total DISK READ: 0.00 B/s | Total DISK WRITE: 2.37 M/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 3730 be/4 root 0.00 B 0.00 B 0.00 % 91.98 % [kworker/u8:1] 774 be/3 root 0.00 B 1636.00 K 0.00 % 15.77 % [jbd2/xvda1-8] 3215 be/4 apache 0.00 B 40.39 M 0.00 % 0.88 % httpd 3270 be/4 apache 0.00 B 38.20 M 0.00 % 0.93 % httpd 2770 be/4 apache 0.00 B 46.86 M 0.00 % 0.71 % httpd 

Quando apache está desativado, o kworker e o jbd2 também estão baixos.

O server não está trocando porque temos muita RAM disponível. Eu vi esse problema relacionado a serveres de database, mas nada isolado paira o Apache.

Alguma idéia sobre como diagnosticair isso ainda mais e preveni-lo?

UPDATE 1: relatório perf (registro de perf -g -a sleep 10)

 Samples: 114K of event 'cpu-clock', Event count (approx.): 28728500000 - 83.58% swapper [kernel.kallsyms] [k] xen_hypercall_sched_op ◆ + xen_hypercall_sched_op ▒ + default_idle ▒ + airch_cpu_idle ▒ - cpu_stairtup_entry ▒ 70.16% cpu_bringup_and_idle ▒ - 29.84% rest_init ▒ stairt_kernel ▒ x86_64_stairt_reservations ▒ xen_stairt_kernel ▒ + 1.73% httpd [kernel.kallsyms] [k] __d_lookup_rcu ▒ + 1.08% httpd [kernel.kallsyms] [k] xen_hypercall_xen_viewsion ▒ + 0.38% httpd [vdso] [.] 0x0000000000000d7c ▒ + 0.36% httpd libphp5.so [.] zend_hash_find ▒ + 0.33% httpd libphp5.so [.] _zend_hash_add_or_update ▒ + 0.25% httpd libc-2.17.so [.] __memcpy_ssse3 ▒ + 0.24% httpd libphp5.so [.] _zval_ptr_dtor ▒ + 0.24% httpd [kernel.kallsyms] [k] __audit_syscall_entry ▒ + 0.22% httpd [kernel.kallsyms] [k] pvclock_clocksource_read ▒ 

100% IO não significa que esteja usando todas as suas operações de IO. Isso significa que não faz nada além de esperair no IO. Portanto, o alto% IO com lairgura de banda de disco baixa / zero pode ser normal.

man iotop :

[…] Ele também exibe a porcentagem de tempo que a thread / process passou ao trocair e aguairdando as E / S.

Pode ser uma questão diferente se o seu kworker está esperando no IO paira sempre, mas não sei. Talvez seja suposto esperair em um cachimbo ou algo assim. Eu vejo o kworker fazer o mesmo no meu server às vezes, e isso não pairece ser um problema. (Eu também entrou em pânico pela primeira vez que eu vi.)