kworker consumindo + 90% de E / S e zero de gravação de disco

21

este é um servidor web apache padrão no AWS Linux AMI + EBS. Estamos percebendo que a média de carga alta (+8) e iotop -a mostram:

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 o apache está inoperante, kworker e jbd2 também estão inativos.

O servidor não está trocando, pois temos muita RAM disponível. Eu vi esse problema relacionado a servidores de banco de dados, mas nada isolado apenas para o Apache.

Alguma ideia de como diagnosticar e prevenir isso?

UPDATE 1: relatório perf (registro 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                                                                                                         ▒
   + arch_cpu_idle                                                                                                        ▒
   - cpu_startup_entry                                                                                                    ▒
        70.16% cpu_bringup_and_idle                                                                                       ▒
      - 29.84% rest_init                                                                                                  ▒
           start_kernel                                                                                                   ▒
           x86_64_start_reservations                                                                                      ▒
           xen_start_kernel                                                                                               ▒
+   1.73%            httpd  [kernel.kallsyms]         [k] __d_lookup_rcu                                                  ▒
+   1.08%            httpd  [kernel.kallsyms]         [k] xen_hypercall_xen_version                                       ▒
+   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                                        ▒
    
por user2383712 13.01.2015 / 17:05

1 resposta

5

100% de IO não significa que esteja usando todas as suas operações de IO. Significa que não está fazendo nada além de esperar pelo IO. Portanto,% de IO alto com largura de banda de disco baixa / zero pode ser normal.

man iotop :

[...] It also displays the percentage of time the thread/process spent while swapping in and while waiting on I/O.

Pode ser um problema diferente se o seu kworker estiver aguardando o pedido de veiculação para sempre, mas não sei. Talvez seja para esperar em um cano ou algo assim. Eu vejo kworker fazendo o mesmo no meu servidor, às vezes, e não parece ser um problema. (Eu também entrei em pânico quando a vi pela primeira vez).

    
por 21.06.2016 / 23:49