服务器启动时,进程 hwrng 处于“D”状态,导致 load_average = 1

服务器启动时,进程 hwrng 处于“D”状态,导致 load_average = 1

在新安装的服务器(Debian 8)中,除了几乎没有任何运行之外,平均负载从未低于 1,%CPU 使用率始终为 0%。

经过一番搜索,我发现进程hwrng(父进程= kthreadd)可能是原因,但我不知道如何防止这种情况发生。

这里是的第一行top

top - 11:26:02 up 16:51,  1 user,  load average: 1.00, 1.02, 1.05
Tasks:  86 total,   1 running,  85 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.7 us,  1.3 sy,  0.0 ni, 96.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   1007204 total,   898320 used,   108884 free,    92112 buffers
KiB Swap:   524284 total,     2324 used,   521960 free.   296008 cached Mem

输出结果如下ps aux|grep D

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       537  0.0  0.0      0     0 ?        D    Jul29   0:00 [hwrng]

ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm|grep'hwrng\|kthreadd'

STAT  EUID  RUID TT       TPGID  SESS  PGRP  PPID   PID %CPU COMMAND
D        0     0 ?           -1     0     0     2   537  0.0 hwrng
S        0     0 ?           -1     0     0     0     2  0.0 kthreadd

在同一时间安装的其他服务器上(和同一分布),此过程不存在,并且平均负载大部分时间为 0。

答案1

硬件和虚拟服务器的真正随机性熵可能会降低。Debian 在其 wiki 文章中对此进行了解释启动时间熵饥饿还有一些建议可以解决这个问题。如果你最终得到“haveged”,你可以查看教程如何使用 Haveged 为云服务器设置额外的熵由 Digital Ocean 提供。

如果由于 AppArmor 配置文件问题导致“haveged”无法在你的 Debian 系统上启动,请查看Debian 错误 #911604这表明可以快速解决问题。

相关内容