减少或清空熵池?

Alb*_*iir 6 random

我经常使用虚拟机,它们的熵似乎通常很低(没有鼠标或其他产生熵的输入)。我的软件出现了一个错误,我认为这是由于熵用完了。我想测试它,但它只是偶尔发生,并且很难重现。

如何清空熵池以测试我的软件在耗尽时的行为?

(注意:我正在调用使用 的其他人的代码dev/random,因此使用dev/urandom来防止阻塞不是一种选择。)

dr_*_*dr_ 4

首先,您应该确保确实是随机池的耗尽导致了软件中的错误。您可以运行cat /proc/sys/kernel/random/entropy_avail来测试系统上的可用熵并检查它是否为零。

其次,据我所知(我还没有测试这些命令),您可以通过在 /proc 中设置适当的变量来减少熵池。要将其设置为 32 位:

echo 32 > /proc/sys/kernel/random/poolsize

或者

sysctl -w kernel.random.poolsize=32