- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
请解释 JVM 中 Xms
和 Xmx
参数的使用。它们的默认值是多少?
最佳答案
标志Xmx
指定Java虚拟机(JVM)的最大内存分配池,而Xms
指定初始内存分配池。
这意味着您的 JVM 将以 Xms
量的内存启动,并且最多能够使用 Xmx
量的内存。例如,如下启动 JVM 将以 256 MB 内存启动,并允许进程使用最多 2048 MB 内存:
java -Xms256m -Xmx2048m
内存标志还可以指定不同的大小,例如千字节、兆字节等。
-Xmx1024k
-Xmx512m
-Xmx8g
Xms
标志没有默认值,而 Xmx
通常具有 256 MB 的默认值。这些标志的常见用途是当您遇到 java.lang.OutOfMemoryError
时。
使用这些设置时,请记住这些设置适用于 JVM 的堆,并且 JVM 可以并且将会使用比分配给堆的大小更多的内存。来自 Oracle's documentation :
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.
关于java - 启动JVM时的-Xms和-Xmx参数是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57564318/
我真的很困惑。 Xmx 根据 java 文档,是允许的最大堆大小。 Xms 是所需的最小 Java 堆大小,在 JVM 启动时分配。 在 32 位 JVM(4GB 内存)上,java -Xmx1536
我有一个疑问。让我们假设我有两个参数传递给 JVM: -Xms256mb -Xmx1024mb 在程序开始时分配了 256MB。接下来,创建一些对象,JVM 进程尝试分配更多内存。假设 JVM 需要分
我试图在Windows机器上运行Elasticsearch,但是出现错误“无法创建Java虚拟机”。 Windows 10、32GB RAM,64位 JVM 1.8.0_201 Elasticsear
我正在使用一个名为 Talend 的 BI 数据集成工具,该工具使用 Java 在 Eclipse 上构建。 在启 Action 业时,它说 Could not create the Java vir
我使用 -Xms256m and -Xmx256m JVM options 将初始和最大 Java 堆大小设置为 256MB . GC 日志(使用 -XX:+PrintHeapAtGC)表明堆大小为
我正在使用 java -Xmx60g 命令运行以下代码。 每个阵列应该在 8.5GB 左右,总共 17GB。该机器总共有 64GB,其中有 63GB“免费”。它打印 DONE DECLARING RI
这SO answer澄清了一些关于 -Xmx JVM 标志的事情。为了进行实验,我做了以下事情: import java.util.List; import java.util.ArrayList;
我有很多 JVM 在 Linux Redhat 上运行,具有 32GB 的物理内存和 32GB 的虚拟内存。这些 JVM 配置为具有超过 32GB 的 Xmx 总值,并且可能让 Linux 使用了它的
我们知道我们可以在 window->preferences->java->installed jres->edit->default vm arguments 中设置 -Xmx1024M 在 ecli
我的 Java 应用程序通过运行“java -jar j.jar”进程来运行另一个 Java 应用程序。众所周知,J.jar 会根据给定的数据集使用大量内存,并且经常会获得 OutOfMemoryEr
有没有办法限制javac的最大虚拟内存使用量?运行 java 时,我可以使用“-XmxAm”(其中 A 是可用兆字节数)运行它来限制它。 javac 有这样的东西吗?谢谢。 最佳答案 您可以使用 -J
问题 我有一个包含大量公式的 .xlsx 文件。我想将此文件转换为新的 .xlsx 文件,其中所有公式都替换为其绝对值。为什么? 可能与这个问题无关。 我做了什么? 我的目标是在尽可能少的堆内存中执行
我正在 Fedora 上运行 jre 6u24 (Linux xxx 2.6.33.7.2-rt30 #1 SMP PREEMPT RT Mon Mar 21 00:50:23 UTC 2011 i6
在阅读了诸如this和JEP-346之类的答案之后,我意识到G1确实将内存释放回了操作系统。 但是,它是否将内存释放回操作系统,甚至导致当前的内存使用量可能降至初始堆内存以下(即,在此JEP之前,对于
我有两台运行 Mac OS X El Capitan 和 Ubuntu 16.04 LTS 的计算机。两者都安装了 Java SDK 1.8.0_101。 当我尝试在 Ubuntu 上启动游戏服务器时
当我尝试使用 -Xms32m -Xmx128m 加载列表中的 39MB 文本时出现内存不足错误。所以我开始一点一点地增加Xmx,直到加载成功,发现我至少需要Xmx170m才能加载内存中的39MB文件
JacORB 通知服务的 JVM (java 1.6) 消耗内存超过 -Xmx 值,设置为 240MB。 Windows 任务管理器中的 java exe 超过 900MB Privatebytes,
在 JDK 8 ,默认最大堆大小为 1/4th of the physical memory or 1GB 并且可以使用 -Xmx 开关覆盖它: You can override this defau
我在我的应用程序中遇到了臭名昭著的 OutOfMemoryException,我没有简单地增加可用的堆空间量,而是试图查看问题所在,以防万一,出现某种泄漏从我的应用程序。 我添加了 JVM 参数 -X
在 java 中,我们可以使用 xmx 参数定义进程可以占用的最大内存。对于 perm gen,我们可以定义 MaxPermSize。 perm gen 空间也是使用分配的内存的一部分xmx参数。 那
我是一名优秀的程序员,十分优秀!