Предел памяти Java-суффикс Xmx: верхний vs нижний регистр m / M и g / G
известно, что можно ограничить размер кучи Java с -Xmx<amount><unit>
, где unit
- это единица измерения количества данных, такая как гигабайт, мегабайт и т. д.
Я знаю это -Xmx128M
означает 128 Мебибайт (= 128 * 1024 * 1024 байт).
но правда ли, что также можно использовать десятичные единицы, такие как мегабайты, используя -Xmx100m
(что бы 100 * 1000 * 1000 байт)?
так можно ли использовать эти десятичные единицы, используя строчные суффиксы, такие как k, m, g
вместо K, M, G
?
3 ответов
нет никакой разницы между 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, указаны в двоичных единицах (Kibibyte,Mebibyte и т. д.) независимо от капитализации единицы; где "килобайт" составляет 1024 байта, а другие увеличивают мощности 1024.
ответ переходит в более полный технический ответ на вопрос.