これがServerFaultに適しているかどうかはわかりませんが、私は管理者ではなく開発者なので、SOを試してみることにしました。
マルチサーバー構成を安定させるのにかなり長い間苦労してきました。先月末、2台のサーバーセットアップ(それぞれ1つのインスタンス)でCF7.0.2で実行していました。その時点で、インスタンスが自動的に再起動する前に、インスタンスごとに約1週間の稼働時間を得ることができました。月の初めからCF9にアップグレードし、1日マルチリスタートでスクエア1に戻りました。
現在の構成は2台のWin2k3サーバーで、サーバーごとに2つのインスタンスで4つのインスタンスのクラスターを実行しています。この時点で、これは不適切なJVM設定が原因であると確信しています。
私たちは彼らと一緒にいじっています、そしていくつかは他のものより安定していますが、私たちはそれを完全に正しくすることは決してありませんでした。
デフォルトから:
java.args=-server -Xmx512m -Dsun.io.useCanonCaches=false -XX:MaxPermSize=192m -XX:+UseParallelGC -Dcoldfusion.rootDir={application.home}/
現在へ:
java.args=-server -Xmx896m -Dsun.io.useCanonCaches=false -XX:MaxPermSize=512m -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:+UseParallelGC -Dcoldfusion.rootDir={application.home}/ -verbose:gc -Xloggc:c:/Jrun4/logs/gc/gcInstance1b.log
FusionReactorで監視するだけで、デフォルトの512MB以上が必要であると判断しました。平均して、消費されるメモリの量は300MBの半ばで推移しており、高負荷では700MBまで低下する可能性があります。
クラッシュのほとんどは、jrun4 / bin / hs_err_pid*.logに記録されます。常に「スワップスペースが不足しています」
昨日の投稿の下部に、hs_errとガベージコレクターのログファイルへのリンクを添付しました。
関連する部分は(私が思うに)これです:
Heap
PSYoungGen total 89856K, used 19025K [0x55490000, 0x5b6f0000, 0x5b810000)
eden space 79232K, 16% used [0x55490000,0x561a64c0,0x5a1f0000)
from space 10624K, 52% used [0x5ac90000,0x5b20e2f8,0x5b6f0000)
to space 10752K, 0% used [0x5a1f0000,0x5a1f0000,0x5ac70000)
PSOldGen total 460416K, used 308422K [0x23810000, 0x3f9b0000, 0x55490000)
object space 460416K, 66% used [0x23810000,0x36541bb8,0x3f9b0000)
PSPermGen total 107520K, used 106079K [0x03810000, 0x0a110000, 0x23810000)
object space 107520K, 98% used [0x03810000,0x09fa7e40,0x0a110000)
それから、PSPermGenがいっぱいであることがわかります(ほとんどのログはクラッシュする前に同じように表示されます)。そのため、MaxPermSizeを増やしましたが、合計は107520Kと表示されます!??!
ここにいるのはjRunの専門家ではないので、次に何を試すかについてのヘルプやアイデアさえも大歓迎です!!
ログファイル: 申し訳ありませんが、sendspaceが最もフレンドリーな場所ではないことを知っています-ログファイルに関する他のホストの提案がある場合は、私に知らせて、投稿を更新します(SOはそれらをインラインで嫌いです、それはのフォーマットを爆破しますポスト)。
- hs_errログファイル:http ://www.sendspace.com/file/fgak8l
- gcログ:http ://www.sendspace.com/file/w0r2ct