我们正在调查一些 JDBC 问题,其中一个可能的问题是 /dev/random 已耗尽。解决方法是将 JVM 切换为使用 /dev/urandom,但我想尝试确定 /dev/random 是否已耗尽。
有没有办法检查熵池是否已耗尽?我已经搜索过 nagios 插件和常规 bash 命令,但一无所获。
答案1
当然可以!问吧/proc/sys/kernel/random/entropy_avail
。
答案2
就像在其他地方读到的一样...每个新进程都从 /dev/random 获取熵
避免窃取池的一个简单方法是程序,例如:
#!/usr/bin/env python
import time
while True:
with open('/proc/sys/kernel/random/entropy_avail', 'r') as f:
print(f.read().rstrip())
time.sleep(1.0)