我有一個複雜的大型多線程應用程序,我正在引入新功能。Java垃圾收集和原子事件/ stop gc暫停中斷一系列函數調用
我已經添加了一個專家硬件調用(通過供應商提供的JNI庫)。然而,在調用(非常快)函數之前,預先完成一些工作來填充發送給它的數據結構。
但是應用程序的GC配置文件非常不連貫/不好,似乎這些人口中的一些步驟被GC中斷。這很重要,因爲時間需要在第一個事件和切換到硬件資源之間保持不變或儘可能保持恆定。
有沒有辦法說,「GC同步」,這些操作,以便他們不會在世界GC暫停期間被阻止?
使用64位JDK 1.7上RHL5.5
感謝
只是爲了澄清,您是否在全面GC掃描期間看到問題,或者是在進行輕微GC掃描? – JustDanyul 2013-03-26 11:31:01
簡短的回答,沒有。如果你遇到阻止世界gc經常出現問題的地方。你使用什麼gc設置? – 2013-03-26 11:31:52
JustSanyul,我相信這是在完全發生大問題時(操作順序可能需要很多毫秒,當它需要<5微秒,實際上自己寫操作需要1.3微米) – easytiger 2013-03-26 11:33:19