加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – kworker消耗90%的IO和零磁盘写入

发布时间:2020-12-13 18:34:20 所属栏目:Linux 来源:网络整理
导读:这是AWS Linux AMI EBS上的标准apache Web服务器.我们注意到高负载平均值(8)和iotop -a显示: 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 %
这是AWS Linux AMI EBS上的标准apache Web服务器.我们注意到高负载平均值(8)和iotop -a显示:
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

当apache关闭时,kworker和jbd2也会关闭.

服务器没有交换,因为我们有足够的RAM可用.我已经看到这个问题与数据库服务器有关,但不仅仅是与Apache隔离.

有关如何进一步诊断和预防它的任何想法?

更新1:性能报告(性能记录-g -a睡眠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                                        ?

解决方法

100%IO并不意味着它正在使用所有IO操作.这意味着除了等待IO之外什么都不做.因此,具有低/零磁盘带宽的高%IO可以是正常的.

男人iotop:

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

如果你的kworker永远等待IO,这可能是一个不同的问题,但我不知道.也许它应该在管道或其他东西上等待.我看到kworker有时会在我的服务器上做同样的事情,这似乎不是问题. (我第一次看到它时也感到恐慌.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读