Java 11 を使用しているときに認識されない JVM GC オプション

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問


プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

要約

Java 11 を使用すると、以前 Tomcat に適用されていた一部の JVM パラメータが認識されなくなる。

環境

  • Confluence
  • Java 11 / OpenJDK 11

診断

Confluence で Java 11 を使用しているときに、以前インストールした Java 8 の JVM オプションがまだ使用されていると、アプリ起動せず、次のメッセージまたは類似のメッセージがログに出力されることがあります。

Unrecognized VM option 'UseGCLogFileRotation'
 Error: Could not create the Java Virtual Machine.
 Error: A fatal exception has occurred. Program will exit.

原因

Java 11 では、Java 8 で使用されていたガベージ コレクション ロギングに使用されるものを含む一部の JVM フラグが削除されています。

これらが setenv.sh または setenv.bat で指定されている JVM フラグにまだ含まれていると、JVM を起動できません。

次のオプションは Java 11 では認識されないことがわかっています。

  • -d64
  • PrintGCTimeStamps
  • PrintGCDateStamps
  • PrintTenuringDistribution
  • PrintGCCause
  • PrintGCDetails
  • UseGCLogFileRotation
  • NumberOfGCLogFiles
  • GCLogFileSize


Java 11 では、これらの GClog オプションは Xlog で処理されるようになりました。変換テーブルは以下を参照してください。

この変更の詳細については、次 のStackoverflow の記事を参照してください。

ソリューション

次の JVM オプションを setenv.sh または setenv.bat ファイルに追加するか (オプション 1)、GC オプションを新しいXlog 形式に変換します (オプション 2)。オプション 2 の場合、上記のリストから認識できない Java 11 用のオプションを必ず削除してください。

オプション 1
XX:+IgnoreUnrecognizedVMOptions
オプション 2
CATALINA_OPTS="-Xlog:gc*:file=$LOGBASEABS/logs/gc-%t.log:tags,time,uptime,level:filecount=5,filesize=2M ${CATALINA_OPTS}"



最終更新日: 2022 年 12 月 16 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.