我正在使用 RHEL7,并且在使用 Pycharm 时遇到了问题,需要非常启动时间较长,几分钟。根据日志,它主要是在等待 JRE/JVM 启动。因此,我尝试集中精力让 Java 更快地启动,但这似乎在其他情况下也会出现问题。我尝试只获取版本,即使这样也需要很长时间(尽管不是紧随其后的第二次,当它在内存中时):
[wile_e8@wile_e82 wile_e8]$ time java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
real 0m41.814s
user 0m0.039s
sys 0m0.020s
[wile_e8@wile_e82 wile_e8]$ time java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
real 0m0.076s
user 0m0.047s
sys 0m0.027s
因此,当它尚未在内存中时,JRE 需要 41 秒才能启动以打印版本。这是一台相对较新的计算机。这只是一个内存问题,还是我可以通过 JRE 配置进行更改,以便 Java 程序启动得更快?
答案1
该问题与错误有关JDK-4705093当SecureRandom
生成SHA1PRNG
.
# it's not obvious, but it also happens..
解决方案:适用于系统范围的 Java
- 打开文件
$JAVA_PATH/jre/lib/security/java.security
- 找到线
securerandom.source=file:/dev/random
- 将其替换为行
securerandom.source=file:/dev/./urandom
添加:Pycharm 有自己的JBR
.对此文件进行同样的尝试:
$PYCHARM_FOLDER/jbr/conf/security/java.security
错误的更详细描述:«Tomcat7 在 Ubuntu 14.04 x64 上启动太晚»。