What are the -Xms and -Xmx parameters when starting JVM?(启动JVM时-Xms和-Xmx参数是什么?)
问题描述
请解释Xms
和Xmx
参数在JVM 中的使用.它们的默认值是什么?
Please explain the use of the Xms
and Xmx
parameters in JVMs. What are the default values for them?
推荐答案
标志 Xmx
指定 Java 虚拟机 (JVM) 的最大内存分配池,而 Xms
指定初始内存分配池.
The flag Xmx
specifies the maximum memory allocation pool for a Java Virtual Machine (JVM), while Xms
specifies the initial memory allocation pool.
这意味着您的 JVM 将以 Xms
内存量启动,并且能够使用最大 Xmx
内存量.例如,像下面这样启动 JVM 将使用 256 MB 内存启动它,并允许进程使用最多 2048 MB 内存:
This means that your JVM will be started with Xms
amount of memory and will be able to use a maximum of Xmx
amount of memory. For example, starting a JVM like below will start it with 256 MB of memory and will allow the process to use up to 2048 MB of memory:
java -Xms256m -Xmx2048m
内存标志也可以指定为不同的大小,如千字节、兆字节等.
The memory flag can also be specified in different sizes, such as kilobytes, megabytes, and so on.
-Xmx1024k
-Xmx512m
-Xmx8g
Xms
标志没有默认值,Xmx
通常有 256 MB 的默认值.这些标志的常见用途是当您遇到 java.lang.OutOfMemoryError
.
The Xms
flag has no default value, and Xmx
typically has a default value of 256 MB. A common use for these flags is when you encounter a java.lang.OutOfMemoryError
.
使用这些设置时,请记住,这些设置是针对 JVM 的 堆 的,并且 JVM 可以并且将使用更多的内存,而不仅仅是分配给堆的大小.来自 Oracle 的文档:
When using these settings, keep in mind that these settings are for the JVM's heap, and that the JVM can and will use more memory than just the size allocated to the heap. From Oracle's documentation:
请注意,JVM 使用的内存不仅仅是堆.例如,Java 方法、线程堆栈和本机句柄被分配在与堆分开的内存中,以及 JVM 内部数据结构中.
Note that the JVM uses more memory than just the heap. For example Java methods, thread stacks and native handles are allocated in memory separate from the heap, as well as JVM internal data structures.
这篇关于启动JVM时-Xms和-Xmx参数是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:启动JVM时-Xms和-Xmx参数是什么?
基础教程推荐
- 如何使用 Java 创建 X509 证书? 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 降序排序:Java Map 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01