Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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

share|improve this question

2 Answers 2

up vote 2 down vote accepted

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.

share|improve this answer
    
Thanks a lot, this problem was driving me nuts. –  Damien Jul 27 '11 at 14:23

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:

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

share|improve this answer
    
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 0:37

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.