1

我最近在调用Mac.getInstance("HmacSHA1").
在此特定服务器上执行该单个调用最多可能需要 10 分钟,而在其他机器上它的执行是即时的。

通话期间 CPU 使用率也会飙升。

以下是有关服务器的一些详细信息:

  • 操作系统: CentOS 5.6 Final(内核 2.6.35.8-16、i686);
  • JVM: Sun的JDK 1.6.0_25(32bit);
  • CPU: Intel Core2 Duo CPU (E8400@3.00GHz);
  • 内存: 2GB 内存;
  • 专用物理服务器。

关于这里可能是什么问题的任何线索?

4

1 回答 1

3

我怀疑您的安全随机数的系统熵很低。请参阅此页面以检查:检查 Linux 中的可用熵。这个问题有答案需要考虑:如何用 Java SecureRandom 解决性能问题?特别是这个 Java 选项应该可以帮助您:

-Djava.security.egd=文件:/dev/./urandom

它更快,但安全性稍差。

于 2011-05-26T17:19:37.980 回答