Solaris

JVM (1.6.0_22) 在 Solaris 10 上呼叫 OS 命令的性能問題

  • July 27, 2011

我的高級問題是我的建構工具 (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 /執行緒的問題:

https://stackoverflow.com/questions/3910760/does-runtime-getruntime-exec-have-a-bad-performance 間歇性的行為可能是這裡的指針。

引用自:https://serverfault.com/questions/294385