我有一個處理SOAP請求的J2EE Java應用程序。在我們的生產環境(HPUX,OC4J,Java 5)中,我們有大約20個線程正在運行,我們有時會看到1個線程暫停約15秒。到目前爲止,我還沒有成功地在預生產環境中複製這個問題,如果我在生產服務器上使用jconsole和相關工具,我很害怕破壞內容並違反SLA。java一線程慢
誰有什麼靈感?我知道http://java.sun.com/j2se/1.5/pdf/jdk50_ts_guide.pdf,但我錯過了體驗用它直接在生產中要敢於(另外,HPUX傢伙扔了其中的一些工具,在工具箱中,與HPJMeter代替)
此外,雖然這表明一個GC問題我還沒有足夠的證據來證明或反駁這個理論,我願意接受其他建議。
GC不應該成爲一個問題,因爲如果它掛起一個線程(一個停止世界的gc),所有其他線程也應該受到影響。 – Thomas
除了我不一定會看到與jconsole連接的問題,您是否分析了線程轉儲?當他暫停時,線程正在做什麼?在unix機器上,當在JVM進程中運行'kill -3'時可以獲得線程轉儲 –