【发布时间】:2017-10-03 20:05:15
【问题描述】:
我们有 64 位 Oracle JRE 8,我们的应用程序开始为:
java -jar C:\path\to\app.jar
在这种情况下JVM如何使用内存(当你没有设置-Xmx和其他选项时)?
【问题讨论】:
-
java -XX:+PrintFlagsFinal -version | grep MaxHeapSize -
@assylias ~2.1 GiB。有趣...所以默认情况下即使在 64 位机器中最大内存消耗也是有限的...但是对于相同的 JVM 但不同的主机,这个数字会有所不同。
-
它取决于 JVM(客户端或服务器)和可用内存
-
注意:最大堆大小不适用于堆外的内存使用。这些 JVM 内存包括 jars、线程堆栈、直接内存、本机内存、JVM 本身、元空间(包括代码)GUI 组件、套接字缓冲区等。不用说,堆可能小于其余的内存使用量。
标签: java performance memory-management jvm jvm-arguments