Моя высокоуровневая проблема - это мой инструмент сборки (Maven), который внезапно стал очень медленным в среде Solaris 10. Сборка, которая занимала 8 минут, теперь занимает 50 минут.
Я сузил эту проблему до плагина maven, который постоянно вызывает
Runtime.getRuntime().exec("env");
Это заставляет JVM (версия 1.6.0_22) вызывать команду "env" в ОС.
Каждый из этих вызовов занимает примерно 1,5 секунды по сравнению с несколькими миллисекундами на других машинах Solaris 10.
Один раз помогла перезагрузка машины, и на пару недель все снова стало нормально. Теперь опять все испортилось, и перезагрузка не помогает.
Спасибо
Это может быть ошибка 6970542
Попробуйте установить:
экспорт DTRACE_DOF_INIT_DISABLE = 1
Я видел эту проблему на нескольких тестовых машинах, которые работали нормально, а затем начали очень медленно запускаться. На JDK 1.6.0_26 он снова работает правильно.
Возможно, разветвление текущего процесса займет больше времени, чем ожидалось. Таким образом, проблема не в вызове команды ОС, а в JVM / thread:
https://stackoverflow.com/questions/3910760/does-runtime-getruntime-exec-have-a-bad-performance Указателем здесь может быть прерывистое поведение.