Javaヒープサイズを-Xmx<amount><unit>
で制限できることが一般的に知られています。ここで、unit
はギガバイト、メガバイトなどのデータ量単位です。I -Xmx128M
は128メビバイト(= 128 * 1024 * 1024バイト)を意味することに注意してください。
しかし、-Xmx100m
を使用してメガバイトなどの小数単位を使用することも可能であることは本当ですか(100 * 1000 * 1000バイトになります)?
それで、k, m, g
の代わりにK, M, G
のような小文字の単位接尾辞を使用して、この10進単位を使用することは可能ですか?
KとKの間に違いはありません。どちらもkibibyte
を意味し、m/M = mebibyte
&g/G = gibibyte
も同様です。 100m
を値として設定すると、100 * 1024 * 1024 bytes
になります。通常、powers of 2.
でこの値を使用することをお勧めします
それが役に立てば幸い。
-Xmx100m
と-Xmx100M
を試して、違いがないか確認してみませんか。k, m, g
はK, M, G
とまったく同じように機能します。これらはすべてバイナリ単位を意味します。
JVMコマンドライン引数で使用されるすべてのメモリサイズは、単位の大文字に関係なく、バイナリ単位(キビバイト、メビバイトなど)で指定されます。ここで、「キロバイト」は1024バイトで、その他は1024の累乗です。
この回答 は、質問に対するより完全な技術的回答になります。