javavm 初期ヒープサイズと最大ヒープサイズが同じ大きな値に設定されている

javavm 初期ヒープサイズと最大ヒープサイズが同じ大きな値に設定されている

Javaヘルプに記載されているように、同じ-Xmsと-Xmxを使用してJavaプロセスを開始することについてあなたの意見を尋ねたいと思います。

-Xms<size>        set initial Java heap size
-Xmx<size>        set maximum Java heap size

内部にJava VMパフォーマンスのヒント/ガイド-Xmsの提案があります。

「Oracleでは、ガベージコレクションを最小限に抑えるために、最小ヒープサイズ(-Xms)を最大ヒープサイズ(-Xmx)に等しく設定することをお勧めします。

テストのために、64 GBのRAMを搭載したシステムで-Xms50gと-Xmx50gを使用してJavaプロセスを開始しました。

無料出力の「使用済み」値が50 GBまで増加すると予想されるべきですか?成長しないと思いますか?それとも長いプロセスですか?

$ while true;do free|grep ^Mem;sleep 1;done|ts '[%Y-%m-%d %H:%M:%S]'
[2018-12-01 22:03:08] Mem:       65808916     3345712    56556376       14556     5906828    61863688
[2018-12-01 22:03:09] Mem:       65808916     3347912    56554168       14556     5906836    61861484
[2018-12-01 22:03:10] Mem:       65808916     3347776    56554292       14556     5906848    61861608
[2018-12-01 22:03:11] Mem:       65808916     3348008    56554060       14556     5906848    61861376
[2018-12-01 22:03:12] Mem:       65808916     3347780    56554284       14556     5906852    61861600
[2018-12-01 22:03:13] Mem:       65808916     3348112    56553944       14556     5906860    61861260
[2018-12-01 22:03:14] Mem:       65808916     3347976    56554076       14556     5906864    61861392
[2018-12-01 22:03:15] Mem:       65808916     3347636    56554416       14556     5906864    61861736

-Xms/-Xmxをそのような大きな値に設定すると、どのような利点/欠点がありますか?

ベストアンサー1

プロセスにその量が必要な場合は、制限を超えてGCを試してヒープを増やすよりも、すぐに予約する方が高速です。

おすすめ記事