1

My high-level problem is my build tool (Maven) which became suddenly very slow on a Solaris 10 environment. A build which was taking 8 minutes now takes 50 minutes.

I narrowed this problem down to a maven plugin repeatedly calling

Runtime.getRuntime().exec("env");

This makes the JVM (version 1.6.0_22) invoking "env" command on the OS.

Each one of this calls takes approximately 1.5 second versus a few milliseconds on other Solaris 10 machines.

A reboot of the machine helped once and things became normal again for a couple of weeks. Now it's gone bad again and reboot doesn't help.

Thanks

Damien
  • 113
  • 7

2 Answers2

2

It may be bug 6970542

Try setting:

export DTRACE_DOF_INIT_DISABLE=1

I've seen that problem on a number of test machines which were working normally and then started to get really slow startup times. On JDK 1.6.0_26 it works properly again.

gm3dmo
  • 10,057
  • 1
  • 42
  • 36
0

Maybe forking the current process takes a longer time than expected. So it wouldn't be the problem with OS command invocation but with JVM / thread:

https://stackoverflow.com/questions/3910760/does-runtime-getruntime-exec-have-a-bad-performance The intermittent behaviour may be the pointer here.

M_1
  • 363
  • 2
  • 10
  • Thanks for the hint. I tried launching new threads with `new Thread().start();` and it's able to launch 1000 threads in 146ms. I tried also with non-empty threads, containing `Thread.sleep(1000);` and it takes 341ms. Any other idea of investigation I could do? – Damien Jul 27 '11 at 00:37