在麒麟系统中应直接读取/proc/sys/kernel/random/entropy_avail获取当前熵池可用比特数,数值低于100存在阻塞风险;若持续偏低,需检查rng-tools服务及硬件rng识别状态,未识别则必须启用haveged补充熵源。

在麒麟系统中准确获取当前内核熵池可用比特数,是排查随机数生成器性能瓶颈或ALM-12040类告警的首要动作,必须绕过任何图形化工具,直接读取内核暴露的实时接口。
直接读取 entropy_avail 接口
这是最基础、最可靠的方式,适用于所有麒麟OS版本(V10 SP1及以上),无需安装额外软件,结果即为当前熵池中真正可被/dev/random消耗的比特数。
打开终端,执行:
cat /proc/sys/kernel/random/entropy_avail
该命令输出一个纯数字,例如 187——数值越接近256越理想,【低于100即存在阻塞风险,/dev/random可能长时间挂起】。
若需观察动态变化,用watch持续刷新:
watch -n 1 cat /proc/sys/kernel/random/entropy_avail
注意:此值每秒波动属正常现象;若长期稳定卡在50~80之间,说明熵源严重不足,应立即检查rng-tools或haveged服务状态。
用 rng-tools 验证硬件RNG是否生效
当 entropy_avail 持续偏低时,需确认系统是否成功识别并启用了硬件随机数发生器(如TPM、Intel RDRAND、AMD SVM)。rng-tools 的 rngd 守护进程既能补充熵池,也能反馈识别结果。
方法一:检查服务运行状态
systemctl status rng-tools
方法二:若服务未运行,启用并启动它:
sudo systemctl enable rng-tools → sudo systemctl start rng-tools
方法三:查看识别日志,确认熵源类型:
sudo journalctl -u rng-tools -n 20 --no-pager
重点查找含“found”或“enabled”的行;若出现“Hardware RNG device not found”,说明主板未提供兼容硬件RNG,此时【必须依赖 haveged 补充熵源,不可跳过】。
用 haveged 快速拉升熵值
适用于无硬件RNG的虚拟机、嵌入式设备或老旧服务器,通过采集系统噪声(如内存访问延迟、中断时间差)生成高质量熵,启动后5秒内通常可将 entropy_avail 推升至200以上。
第一步:安装 haveged(若未预装)
sudo apt install -y haveged
第二步:启用并启动服务
sudo systemctl enable haveged
sudo systemctl start haveged
第三步:验证效果
watch -n 1 cat /proc/sys/kernel/random/entropy_avail
看到数值快速跃升并稳定在200+,说明已生效。注意:该服务默认开机自启,无需额外配置定时任务。











