私は新しい機能を導入する複雑な大規模マルチスレッドアプリケーションを持っています。Javaガベージコレクションとアトミックイベント/ stop gcは、一連の機能呼び出しの中断を一時停止します。
(ベンダー提供のJNI lib経由で)専門ハードウェアの呼び出しを追加しました。しかし、その(非常に速い)関数が呼び出される前に、それに送られたデータ構造を生成するために、あらかじめいくつかの作業が行われています。
しかし、アプリケーションのGCプロファイルは非常に不定期/不良であり、これらの作成ステップのいくつかはGCによって中断されているようです。これは、これらのイベントの最初とハードウェアリソースへのハンドオフとの間に、時間を一定または一定に保つ必要があるためです。
「GC用のsychronise」は、世界のGCが停止している間中止されないようにするための操作ですか? RHL5.5
に64ビット1.7 JDKを使用して
おかげ
だけ明確にするために、あなたは、フルGCのスイープ中に問題を見て、あるいはまた、マイナーGCスイープをしているの? – JustDanyul
短い答え、いいえ。あなたが遭遇している場合は、定期的に何かが間違っている世界を停止する。どのようなgc設定を使用していますか? –
JustSanyul、私はあなたがリアルタイム要件を持っている場合は、完全な大きな問題は、おそらく、(それは<5マイクロ秒を取る必要がある場合。実際に自分自身で操作を書くために一連の操作は、多くの多くのミリ秒を取ることができ1.3microsかかります) – easytiger