内核升级后出现 random: crng init 卡很久的 entropy 不足加速

冬瑶大大_9046

冬瑶大大_9046

2026-01-22

920人浏览

原创

内核升级后启动卡在“waiting for entropy”是因CRNG初始化要求更高熵值,可通过检查/proc/sys/kernel/random/entropy_avail确认是否低于100,优先启用硬件RNG驱动(如intel_rndr、tpm_rng)或软件服务haveged补充熵源,必要时微调random.trust_cpu=on等参数。

内核升级后出现 random: crng init 卡很久的 entropy 不足加速

内核升级后出现 random: crng init done 延迟高、系统启动卡在“waiting for entropy”阶段,本质是 CRNG(Cryptographically Secure Random Number Generator)初始化依赖足够熵值,而新内核(尤其是 4.17+)对熵池质量要求更严,不再容忍低熵启动,导致阻塞。

确认是否真为熵不足导致卡顿

开机时若卡在类似 random: crng init done 或日志中反复出现 random: crng init not ready,且 /proc/sys/kernel/random/entropy_avail 长期低于 100(理想应 >200),基本可判定为熵源不足。可通过串口/SSH登录后实时查看:

cat /proc/sys/kernel/random/entropy_avail

若数值长期徘徊在 50–100 甚至更低,尤其在无键盘/鼠标/硬盘活动的虚拟机或嵌入式设备上,问题明确。

优先启用硬件随机数生成器(RNG)

现代 CPU(Intel Ivy Bridge+、AMD Zen+)和主板大多支持 RDRAND/RDSEED 指令或 TPM 芯片,这是最直接有效的熵源:

Crypto Arbitrage Monitor
Crypto Arbitrage Monitor

加密货币跨交易所套利监控器,实时监控BTC/ETH/SOL等主流币在各交易所价差,发现套利机会后通过飞书/Telegram预警,自动计算扣除手续费后的净利润。

下载
  • 检查是否已加载 rng_core 和对应驱动:lsmod | grep -i rng;常见模块有 intel_rndr、tpm_rng、virtio_rng(KVM)
  • 若未加载,临时启用:modprobe intel_rndr(Intel)或 modprobe tpm_tis && modprobe tpm_rng(TPM)
  • 永久生效:将模块名写入 /etc/modules 或创建 /etc/modules-load.d/rng.conf
  • 验证是否被 CRNG 识别:cat /sys/class/misc/hwrng/rng_available 应显示当前 RNG 设备;再看 cat /sys/class/misc/hwrng/rng_current

补充用户态熵服务(适用于无硬件 RNG 场景)

当硬件 RNG 不可用(如老旧云主机、某些容器环境),需靠软件补充熵源:

  • 安装并启用 haveged(推荐):apt install haveged(Debian/Ubuntu)或 yum install haveged(CentOS/RHEL),启动服务:systemctl enable --now haveged
  • 替代方案:rng-tools(需配合硬件 RNG)或 egd(Entropy Gathering Daemon),但 haveged 更轻量、适配性广
  • 注意:避免同时运行多个熵服务,可能引发冲突;启用后观察 entropy_avail 是否快速升至 200+

内核参数微调(谨慎使用)

仅作兜底,不解决根本问题,但可缓解启动卡顿:

  • 添加启动参数 random.trust_cpu=on:告诉内核信任 RDRAND 指令输出,跳过部分熵校验(适用于 Intel/AMD 新 CPU)
  • 禁用熵池 blocking 行为(不推荐生产环境):random.read_wakeup_threshold=512(提高唤醒阈值,减少等待)
  • 修改方式:编辑 /etc/default/grub 中 GRUB_CMDLINE_LINUX,追加参数后运行 update-grub && reboot

熵问题不是“修好了就行”,而是要匹配硬件能力做合理配置。有 RNG 就启用,没 RNG 就补 haveged,参数调整只是临时绕过。多数情况下,加载正确 RNG 驱动 + 启动 haveged,启动卡顿会立即消失。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
class在c语言中的意思
class在c语言中的意思

在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

2024.01.03

4276

7

python中class的含义
python中class的含义

本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

2025.12.06

306

9

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.07

357

5

常见的linux系统有哪些
常见的linux系统有哪些

linux系统有Ubuntu、Fedora、CentOS、Debian、openSUSE、Arch Linux、Gentoo、Slackware、Linux Mint、Kali Linux。更多关于linux系统的文章详情请阅读本专题下面的文章。php中文网欢迎大家前来学习。

2023.10.27

6961

23

ubunt上安装和配置vnc
ubunt上安装和配置vnc

安装方法:安装VNC服务器、启动VNC服务器、设置VNC密码等等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

2023.12.28

2161

8

ubuntu启动黑屏解决方法
ubuntu启动黑屏解决方法

ubuntu启动黑屏解决方法:检查是否是电源问题、检查内存是否接触不良、检查显卡问题等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

2023.12.28

1890

6

为什么ubuntu有网络连接但不能上网
为什么ubuntu有网络连接但不能上网

ubuntu有网络连接但不能上网的原因:1、dns配置问题;2、代理服务器设置问题;3、网络防火墙设置问题;4、路由器或调制解调器设置问题;5、网络驱动程序问题;6、网络配置文件问题;7、其他问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.09.05

1041

6

ubuntu安装golang
ubuntu安装golang

本专题整合了ubuntu安装golang所有方法汇总,阅读下面的文章了解更多详细操作。

2025.12.13

359

13

Linux如何安装Ubuntu并完成基础系统优化教程
Linux如何安装Ubuntu并完成基础系统优化教程

访问Ubuntu官网或国内镜像站下载ISO镜像,利用Rufus或Etcher工具制作USB启动盘。重启电脑进入BIOS设置U盘引导,按提示完成分区与账户设置以安装系统。安装完毕后,首要任务是将软件源更换为国内镜像以加速下载,接着在终端执行更新命令升级系统组件,并安装显卡驱动及常用开发工具,至此即可完成基础环境搭建与优化。

2026.03.31

124

6

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习