什么是Java / JVM中的-Xms和-Xms参数(已更新至Java 13)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了什么是Java / JVM中的-Xms和-Xms参数(已更新至Java 13),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2839字,纯文字阅读大概需要5分钟。
内容图文
![什么是Java / JVM中的-Xms和-Xms参数(已更新至Java 13)](/upload/InfoBanner/zyjiaocheng/644/c347c58af1c5426e8916d1eacb1b753f.jpg)
什么是Java / JVM中的-Xms和-Xms参数(已更新至Java 13)
简而言之,
Xmx
指定应用程序可用的最大堆大小Xms
指定应用程序可用的最小堆大小
这些是Java虚拟机(JVM)参数,用于指定Java应用程序的内存边界。在对性能问题或OutOfMemoryError进行故障排除时,通常使用它们。它们控制 Java应用程序可用的内存量。该Xmx
参数指定最大存储器的应用程序都可以使用,其中作为Xms
指定的最小或初始内存池。如果您的应用程序超出了最大内存(使用分配Xmx
),并且垃圾回收器无法释放内存,则JVM将崩溃,并显示OutOfMemoryError。如果您有兴趣,我写了一篇文章,并举例说明垃圾收集的工作方式及其产生的年代。
<span style="color:#515151">
$ java -Xmx256m Xmx1024m -jar yourapp.jar
</span>
在上面的示例中,应用程序yourapp.jar
将获得256 MB的初始内存池,最大内存池最大为1024 MB。在中256m
,m
代表兆字节。您可以使用g
或G
表示千兆字节。
Xmx1g
或Xmx1G
:将最大内存大小设置为1 GB。Xmx1024m
或Xmx1024M
:将最大内存大小设置为1024兆字节。Xmx1024000k
或Xmx1024000K
:将最大内存大小设置为1024000千字节。
请务必注意,Xmx
和Xms
都是可选的。如果未提供这些,则Java虚拟机(JVM)将为其使用默认值。默认值取决于您的计算机和JVM配置。对于服务器类机器,这些定义为:
- 初始堆大小为物理内存的1/64(用于
Xms
) - 最大堆大小为物理内存的1/4(用于
Xmx
)
在下面的示例中,最大内存将被限制为1024 MB。初始内存(Xms
参数代表的将使用默认值。)
<span style="color:#515151">
java -Xmx1024m -jar yourapp.jar
</span>
这是一个不错的YouTube视频,介绍了解决与内存相关的错误的过程,并通过示例演示了如何解决这些错误。
Java 13和Z垃圾收集器
Java 13引入了一个称为ZGC的新垃圾收集器。其功能之一包括优化,以将未使用的内存返回到操作系统。默认情况下启用此功能,它不会返回内存,以使堆大小减小到小于Xms
。因此,如果您将其设置Xms
为相等Xmx
(就像许多开发人员一样),它将实质上禁用该功能。
如果要查看所有可用的JVM参数,则可以使用java -X
开关,例如
$ java -X
-Xmixed混合模式执行(默认)
仅-xint解释模式执行
-Xbootclasspath:<目录和zip / jar文件,用:>分隔
设置引导类和资源的搜索路径
-Xbootclasspath / a:<用:>分隔的目录和zip / jar文件
追加到引导类路径的末尾
-Xbootclasspath / p:<用:>分隔的目录和zip / jar文件
放在引导类路径的前面
-Xdiag显示其他诊断消息
-Xnoclassgc禁用类垃圾回收
-Xincgc启用增量垃圾收集
-Xloggc: 将GC状态记录到带有时间戳的文件中
-Xbatch禁用后台编译
-Xms 设置初始Java堆大小
-Xmx 设置最大Java堆大小
-Xss 设置Java线程堆栈大小
-Xprof输出cpu分析数据
-Xfuture启用最严格的检查,预期将来会发生默认情况
-Xrs减少Java / VM对OS信号的使用(请参阅文档)
-Xcheck:jni对JNI功能执行附加检查
-Xshare:off不要尝试使用共享的类数据
-Xshare:如果可能,自动使用共享的类数据(默认)
-Xshare:按要求使用共享类数据,否则将失败。
-XshowSettings显示所有设置并继续
-XshowSettings:全部
显示所有设置并继续
-XshowSettings:vm显示所有与vm相关的设置并继续
-XshowSettings:属性
显示所有属性设置并继续
-XshowSettings:语言环境
显示所有与语言环境相关的设置并继续
-X选项是非标准的,如有更改,恕不另行通知。
kingmax54212008
发布了928 篇原创文章 · 获赞 388 · 访问量 280万+
他的留言板
关注
内容总结
以上是互联网集市为您收集整理的什么是Java / JVM中的-Xms和-Xms参数(已更新至Java 13)全部内容,希望文章能够帮你解决什么是Java / JVM中的-Xms和-Xms参数(已更新至Java 13)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。