我们的solaris机器出现了问题,因为Java需要很长时间才能启动。即使是像java -version这样简单的东西
>time java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Server VM (build 16.3-b01, mixed mode)
real 0m34.084s
user 0m0.088s
sys 0m8.331s
有趣的是,这仅限于Java6:
java version "1.5.0_24"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_24-b02)
Java HotSpot(TM) Server VM (build 1.5.0_24-b02, mixed mode)
real 0m0.320s
user 0m0.123s
sys 0m0.138s
有什么想法吗?
答案 0 :(得分:5)
这是jvm的dtrace初始化中的已知问题。我认为,根据Sun Alert 1296670.1,我将继续使用java 6u25。我们上周在一个重要的环境中发现了这个问题,痛苦是极度痛苦的(如果你需要每分钟运行100个进程,他们会突然开始额外花费10秒来启动......)。
如果您固定在JVM上,则解决方法:
export DTRACE_DOF_INIT_DISABLE = true
这对我们来说是100%成功的,我们还是没有使用JVM特定的dtrace探测器。
答案 1 :(得分:1)
也许Java 6安装在网络驱动器上。你能试试吗
df `which java`
答案 2 :(得分:1)
您可以尝试
truss java -version
查看它是否在特定系统调用上等待很长时间。
答案 3 :(得分:1)
您可以尝试使用最新的java 6更新(6u27)。