在Linux端使用MindStudio时出现阻塞,等待不定时间方可恢复
问题描述
问题原因
曾在如图1SSH连接配置界面设置保存密码。SSH插件使用KMC加密套件做密码保存。而/dev/random产生随机数的原理是利用当前系统的熵池(random pool)来计算出固定一定数量的随机比特,然后将这些比特作为字节流返回。熵池就是当前系统的环境噪音,熵指的是一个系统的混乱程度,系统噪音可以通过很多参数来评估,如内存的使用,文件的使用量,不同类型的进程数量等等。如果当前环境噪音变化的不是很剧烈或者当前环境噪音很小,比如设备刚启动时产生的随机数熵值不足,/dev/random会阻塞当前的程序,直到根据熵池产生新的随机字节之后才返回。当熵源不足时,使用haveged组件进行补熵。
解决方案
通过添加haveged服务解决随机数阻塞问题。
- 检查操作系统是否安装haveged服务。
- 对于CentOS、OpenEuler、EulerOS 、Kylin系统,执行以下命令进行检查。
/bin/rpm -qa | grep -w "haveged"
- 对于Ubuntu系统,执行以下命令进行检查。
dpkg -l | grep -w "haveged"
若没有回显数据,则表示未安装haveged服务。
- 对于CentOS、OpenEuler、EulerOS 、Kylin系统,执行以下命令进行检查。
- 安装haveged服务。
- 对于CentOS、OpenEuler、EulerOS 、Kylin系统,执行以下命令进行安装。
sudo yum install haveged
- 对于Ubuntu系统,执行以下命令进行安装。
sudo apt-get install haveged
- 对于CentOS、OpenEuler、EulerOS 、Kylin系统,执行以下命令进行安装。
- 检查服务是否已经启动。
systemctl status haveged.service
- 回显包含“Active: active (running)”信息,表示服务已启动。
- 回显包含“Active: inactive (dead)”信息,表示服务未启动,执行以下命令启动服务。
systemctl start haveged.service
- 设置该服务开机自启动。
systemctl enable haveged.service
父主题: FAQ