我们的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
Run Code Online (Sandbox Code Playgroud)
有趣的是,这仅限于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
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
这是jvm的dtrace初始化中的已知问题.我认为,根据Sun Alert 1296670.1,我将继续使用java 6u25.我们上周在一个重要的环境中发现了这个问题,痛苦是极度痛苦的(如果你需要每分钟运行100个进程,他们突然开始额外花费10秒来启动......).
如果您固定到JVM,请解决此问题:
export DTRACE_DOF_INIT_DISABLE = true
这对我们来说是100%成功的,我们还没有使用JVM特定的dtrace探针.