linux apache rngd,Linux的random总是装死网络服务器 -电脑资料

应该有不少人碰过Apache 启动时卡在digest module 过不去,导致 PHP 不能使用,或是碰过某些程序卡在某个地方很久没动作,

应该有不少人碰过Apache 启动时卡在digest module 过不去,导致PHP不能使用,或是碰过某些程序卡在某个地方很久没动作。这时候大家可能要去检查一下/dev/random 这个设备档案。可以用cat /dev/random 来看它的内容,如果你发现他一直没显示任何内容﹝可能是乱码数字之类的﹞,那就是它出问题了。

据我从digest module 的source code 里所知,这模组呼叫了一个乱数产生的函数,此函数会呼叫/dev/random。所以当/dev/random卡住显示不出内容时,很自然的任何read() 它的程式会停在那等它回应。

我了解Linuxkernel 的source code 之后发现,/dev/random 会使用key/mouse/disk 的interrupt 当做乱数种子的计算来源,好处是会有更大的安全性,但问题是当我们没在使用 key/mouse/disk 或是他们的 interrupt 讯号量不足以产生乱数种子时,/dev/random 就会永远是空白没东西,Linux的random总是装死网络服务器》(https://www.unjs.com)。

这问题有个暂时的解决办法,就是将 /dev/random 砍掉,先用link的方式使用 /dev/urandom 取代/dev/random。

要完全解决此问题,可至SourceForge 找到gkernel这项目。

下载rng-tool 回来编译安装。

然后于开机的 Scripts 中加入:

 
 

    rngd -b -o /dev/random -r /dev/urandom

此Deamon 将会在没足够interrupt 讯号时使用urandom 的乱数当random 的乱数种子。

(责任编辑:城尘)

原文转自:http://www.ltesting.net

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值