我们在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有什么想法吗?
发布于 2011-11-27 03:41:19
这是jvm的dtrace初始化中的已知问题。在java 6u25中消失了,我相信,根据Sun Alert 1296670.1。我们上周在一个重要的环境中发现了这个问题,痛苦是痛苦的(如果你需要一分钟运行100个进程,而他们突然开始多花10秒来启动…)。
如果您被固定到JVM,则解决方法:
导出DTRACE_DOF_INIT_DISABLE=true
这对我们来说是100%成功的,我们没有使用JVM特定的dtrace探针。
发布于 2011-09-06 22:14:06
也许Java 6安装在网络驱动器上。你能试一下吗?
df `which java`发布于 2011-09-06 22:18:28
你可以试试
truss java -version查看它是否在特定的系统调用上等待了很长时间。
https://stackoverflow.com/questions/7321233
复制相似问题