0

新しいメモリ オプションを使用して Java プロセスを再起動し、-Xms4G -Xmx4G -XX:MaxDirectMemorySize=6Gこれらの変更、特に 6G のダイレクト メモリが正しく適用されているかどうかを確認したいと考えました。

これを確認するために私が見つけた最初の解決策は、javaそれ自体によるものでしたが、これは単に を報告しただけ0で、新しい設定が効果がないことを意味しています。

bash-4.4$ java -XX:+PrintFlagsFinal -version | grep MaxDirect
    uintx MaxDirectMemorySize                = 0                          {product}
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)

後で見つけた 2 番目の解決策はjinfo、経由6Gでした。

bash-4.4$ jinfo -flag MaxDirectMemorySize 1
-XX:MaxDirectMemorySize=6442450944

以前は他の目的で に依存していましたjava -XX:+PrintFlagsFinalが、期待値が返されない理由が不思議です。javaと が異なる結果をjinfo返すのはなぜですか?

4

1 に答える 1