Es ist allgemein bekannt, dass es möglich ist, die Java-Heap-Größe mit -Xmx<amount><unit>
zu begrenzen, wobei unit
die Datenmengeneinheit ist, wie Gigabyte, Megabyte usw. Ich weiß, dass -Xmx128M
128 Mebibytes bedeutet (= 128 * 1024 * 1024) Bytes).
Aber stimmt es, dass es auch möglich ist, Dezimaleinheiten wie Megabytes mit -Xmx100m
Zu verwenden (was 100 * 1000 * 1000 Bytes wäre)?
Ist es also möglich, diese Dezimaleinheiten zu verwenden, indem Kleinbuchstaben wie k, m, g
anstelle von K, M, G
verwendet werden?
Es gibt keinen Unterschied zwischen k und K, und beide bedeuten kibibyte
und m/M = mebibyte
& g/G = gibibyte
. Sie können 100m
als Wert festlegen und es wird 100 * 1024 * 1024 bytes
sein. Im Allgemeinen wird empfohlen, diesen Wert in powers of 2.
zu verwenden.
Ich hoffe es hilft.
Warum probierst du nicht einfach -Xmx100m
und -Xmx100M
und prüft, ob es Unterschiede gibt?.k, m, g
funktionieren genau wie K, M, G
- sie bedeuten alle binäre Einheiten.
Alle von den JVM-Befehlszeilenargumenten verwendeten Speichergrößen werden unabhängig von der Groß-/Kleinschreibung in binären Einheiten (Kibibyte, Mebibyte usw.) angegeben. wo ein Kilobyte 1024 Bytes ist, und die anderen erhöhen die Potenz von 1024.
Diese Antwort geht in eine vollständigere technische Antwort auf die Frage ein.