Java内存限制-Xmx后缀:上限与小写m / M和g / G.

时间:2014-05-16 16:19:45

标签: java memory jvm heap jvm-arguments

众所周知,可以使用-Xmx<amount><unit>来限制Java堆大小,其中unit是数据量单位,如技嘉,兆字节等。 我知道-Xmx128M表示128 Mebibytes(= 128 * 1024 * 1024字节)。

但这是真的吗,使用-Xmx100m也可以使用兆字节等十进制单位 (这将是100 * 1000 * 1000字节)?

那么可以使用k, m, g而不是K, M, G这样的小写单位后缀来使用这个十进制单位吗?

3 个答案:

答案 0 :(得分:24)

k和K之间没有区别,均意味着kibibyte,m / M = mebibyte&amp; g / G = gibibyte。您可以将100m设置为值,它将为100 * 1024 * 1024 bytes。通常建议在powers of 2.

中使用此值

希望它有所帮助。

答案 1 :(得分:3)

为什么不试试-Xmx100m-Xmx100M并检查是否有任何区别。
k, m, g的工作方式与K, M, G完全相同 - 它们都是二进制单位。

答案 2 :(得分:1)

JVM命令行参数使用的所有内存大小均以二进制单位(Kibibyte,Mebibyte等)指定,与单位大小写无关;其中一个&#39;千字节&#39;是1024字节,其他是增加1024的功率。

This answer对问题进行了更全面的技术回答。