付録Aチューニングのフラグ
A.1 JITコンパイラ
フラグ | 意味 | 利用するべき場合 | 参考 |
---|---|---|---|
-server | サーバーコンパイラを使用する | 長期間実行されるアプリケーションで、高いパフォーマンスが必要な場合 | 「4.1.1 JFRの概要」 |
-client | クライアントコンパイラを使用する | 起動処理の時間が最も重要な場合 | 同上 |
-XX:+TieredCompilation | 階層的コンパイルを使用する。クライアントコンパイラとサーバーコンパイラが併用される | 十分なネイティブメモリを持っており、可能なかぎりパフォーマンスを高めたい場合 | 同上 |
-XX:ReservedCodeCacheSize= N | JITコンパイラによってコンパイルされるコードのための領域を予約する。メガバイト単位で指定 | コードキャッシュがいっぱいになったという警告が表示された場合や、階層的コンパイルを使用する場合 | 「4.4.1 コードキャッシュのチューニング」 |
-XX:InitialCodeCacheSize= N | JITコンパイラによってコンパイルされるコードのための領域について、初期サイズをメガバイト単位で指定する | コードキャッシュのためのメモリを事前に確保したい場合(あまり使われない) | 同上 |
-XX:CompileThreshold= N | メソッドやループがコンパイルされるために必要な実行回数を指定する | サーバーコンパイラを使用している場合、多くのメソッドが早期にコンパイルされることになる。階層的コンパイルを使用していない場合には、このことがメリットになる可能性もある | 「4.4.2 コンパイルのしきい値」 |
-XX:+PrintCompilation | JITコンパイラが行った処理についてログを出力する | 重要なメソッドがコンパイルされていないと考えられる場合や、単にコンパイラの振る舞いを知りたい場合 ... |
Get Javaパフォーマンス now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.