在Linux端使用MindStudio时出现阻塞,等待不定时间方可恢复

问题描述

问题原因

曾在如图1SSH连接配置界面设置保存密码。SSH插件使用KMC加密套件做密码保存。而/dev/random产生随机数的原理是利用当前系统的熵池(random pool)来计算出固定一定数量的随机比特,然后将这些比特作为字节流返回。熵池就是当前系统的环境噪音,熵指的是一个系统的混乱程度,系统噪音可以通过很多参数来评估,如内存的使用,文件的使用量,不同类型的进程数量等等。如果当前环境噪音变化的不是很剧烈或者当前环境噪音很小,比如设备刚启动时产生的随机数熵值不足,/dev/random会阻塞当前的程序,直到根据熵池产生新的随机字节之后才返回。当熵源不足时,使用haveged组件进行补熵。

图1 SSH连接

解决方案

通过添加haveged服务解决随机数阻塞问题。

  1. 检查操作系统是否安装haveged服务。

    • 对于CentOS、OpenEuler、EulerOS 、Kylin系统,执行以下命令进行检查。
      /bin/rpm -qa | grep -w "haveged"
    • 对于Ubuntu系统,执行以下命令进行检查。
      dpkg -l | grep -w "haveged"

    若没有回显数据,则表示未安装haveged服务。

  2. 安装haveged服务。

    • 对于CentOS、OpenEuler、EulerOS 、Kylin系统,执行以下命令进行安装。
      sudo yum install haveged
    • 对于Ubuntu系统,执行以下命令进行安装。
      sudo apt-get install haveged

  3. 检查服务是否已经启动。

    systemctl status haveged.service
    • 回显包含“Active: active (running)”信息,表示服务已启动。
    • 回显包含“Active: inactive (dead)”信息,表示服务未启动,执行以下命令启动服务。
      systemctl start haveged.service

  4. 设置该服务开机自启动。

     systemctl enable haveged.service