i5 上的高负载没有明显的原因

i5 上的高负载没有明显的原因

这已经是向 Debian 报告为错误

我有一台平均水平较高的 i5。如图所示top,对于空闲系统(只有 sshd 和 2 个会话),该负载2.00始终保持不变。该机器安装了全新的 Debian 9,而且开箱即用并不是完美的一对,因为我已经不得不处理一个 kworker 一直占用一个核心 80% 的情况,与所描述的问题相同这里(使用 Ubuntu 16.04)

我已经安装了 Debian 的非免费固件:

  • 固件-realtek
  • 固件-iwlwifi

但我也在没有安装这些驱动的情况下使用 Debian Live 进行了测试,没有什么区别。

整个top标题看起来是这样的:

top - 13:42:33 up  1:33,  3 users,  load average: 1.83, 2.01, 2.01
Tasks: 230 total,   1 running, 229 sleeping,   0 stopped,   0 zombie
%Cpu0  :  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3955660 total,  2123712 free,   657580 used,  1174368 buff/cache
KiB Swap:  4095996 total,  4095996 free,        0 used.  2888300 avail Mem 

iostat:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.04    0.00    0.08    0.04    0.00   99.83

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               4.00         0.00        20.00          0        120
sdb               0.00         0.00         0.00          0          0
dm-0              5.17         0.00        20.00          0        120
dm-1              3.50         0.00        14.00          0         84
dm-2              1.50         0.00         6.00          0         36
dm-3              0.00         0.00         0.00          0          0
dm-4              0.00         0.00         0.00          0          0
dm-5              0.00         0.00         0.00          0          0

nload显示非常低的值:

  • 传入平均:1.14 kBit/s
  • 传出平均:9.27 kBit/s

总而言之,系统看起来很空闲,但有报告的负载。我猜温度似乎也有点高:

$ sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +27.8°C  (crit = +105.0°C)
temp2:        +29.8°C  (crit = +105.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +50.0°C  (high = +84.0°C, crit = +100.0°C)
Core 0:         +47.0°C  (high = +84.0°C, crit = +100.0°C)
Core 1:         +50.0°C  (high = +84.0°C, crit = +100.0°C)

以下是最重要的进程:

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 5017 root      20   0   45052   3860   3200 R   1.0  0.1   0:00.10 top
  165 root      20   0       0      0      0 D   0.3  0.0   0:07.94 kworker/3:3
 1259 tomasz    20   0 1306660  41600  32768 S   0.3  1.1   0:03.08 gnome-settings-
    1 root      20   0  139492   7252   5268 S   0.0  0.2   0:00.90 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd

按照提示进行操作这个答案D,这是状态或中的进程列表R

# ps -e v | perl -nalE 'say $_ if $F[2] =~ /R|D/'
   47 ?        D      0:14      0     0     0     0  0.0 [kworker/3:1]
  165 ?        D      0:14      0     0     0     0  0.0 [kworker/3:3]
  393 ?        D      0:00      0     0     0     0  0.0 [rtsx_usb_ms_1]
 5640 pts/0    R+     0:00      0   106 29757  1564  0.0 ps -e v
 5641 pts/0    R+     0:00      0  1940 15691  3448  0.0 perl -nalE say $_ if $F[2] =~ /R|D/ 

每次重新启动后,这组两个 kworkers 和处于状态 D 的 rtsx_usb_ms_1 始终存在。

我一直在尝试不同的 BIOS 配置和内核参数,acpi_osi=Linux负载可能没有减少,但只有一点点,仍然接近 2.00 平均值。

我想知道是否应该将其作为错误归档。那么收件人是谁呢?德班?核心?

机器详情:

  • 主板:富士通FJNBB35
  • CPU:Intel(R) Core(TM) i5-4200M CPU @ 2.50GHz
  • RAM:4G,SODIMM DDR3 同步 1600 MHz (0.6 ns),三星 M471B5173QH0-YK0
  • 操作系统:4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64 GNU/Linux

答案1

在我看来,rtsx_usb_ms_1 进程可能是罪魁祸首。适用于 Realtek 记忆棒/SD 卡读卡器设备。您可以尝试将驱动程序列入黑名单,例如

echo blacklist rtsx_usb_ms >> /etc/modprobe.d/99-local.conf

...然后重新启动以查看阻止驱动程序加载是否可以解决该问题。简单地跑步rmmod rtsx_usb_ms也可能有效。不过,您必须手动加载内核模块或删除黑名单并重新启动才能使用阅读器。

这可能是一个回归,因为这个补丁(https://lkml.org/lkml/2014/11/5/905)用于修复 Debian bug #765717。也许它从未进入主线内核。

如果删除/将模块列入黑名单可以解决问题,我会向 Debian 提交错误报告。

相关内容