一、熵/随机数相关
dd count=50 ibs=1024 if=/dev/random > /dev/null
记录了0+50 的读入
记录了7+1 的写出
3712字节(3.7 kB)已复制,2.57967 秒,1.4 kB/秒
dd count=50 ibs=1024 if=/dev/urandom > /dev/null
#
记录了50+0 的读入
记录了100+0 的写出
51200字节(51 kB)已复制,0.00034067 秒,150 MB/秒
1. 在 Tomcat 环境中解决
catalina.sh
中加入:
-Djava.security.egd=file:/dev/./urandom
2. JVM 环境解决
修改此文件 $JAVA_PATH/jre/lib/security/java.security
:
# securerandom.source=file:/dev/urandom
# 替换为以下值:
securerandom.source=file:/dev/./urandom
3. jar 启动命令行
添加以下启动参数:
-Djava.security.egd=file:/dev/./urandom
二、网络原因
未设置 hosts 地址可能造成相关问题:
127.0.0.1 localhost <hostname>.local
三、其他
1. 使用性能分析工具
Arthas:Slow Start | Troubleshooting
2. JDK 问题
2.1 执行模式
java 有三种执行模式:
- interpreted mode:解释执行模式
- compiled mode:编译执行模式
- mixed mode:混合模式,会使用 JIT
只建议使用 mixed mode。
2.2 java 运行方式
有 client 方式和 server 方式。64 位只有 server 模式,32 位有两种模式。
只建议使用 server 模式。
2.3 硬件问题
- 内存
- 磁盘