2KB项目,专业的源码交易网站 帮助 收藏 每日签到

10 个十分主要的 HotSpot JVM 参数

  • 时间:2019-03-14 19:48 编辑:2KB 来源:2KB.COM 阅读:489
  • 扫一扫,手机访问
  • 分享
摘要:
jvm 英文原文:10 Examples of HotSpot JVM Options in Java Sun的JDK包括了非常多可以参数并且实践上你也不成能了解每个JVM参数,从我的经历来看,除那些和堆巨细,打印GC信息和远程调试相干的参数之外,其他的参数你可能根本上都用不到。 即便如许,有一些有效的参数你最少需求了解一下。在这篇文章里,我们将会看到10个我感到有效而且使更经常使用的JVM参数的例子。我也建议你从官方的文档里去获得 关于JVM参数更全面的材料。

JVM parameters in Java

我们依据JVM参数以-X扫尾或-XX扫尾将JVM参数分红两个部分:

1) 以-X扫尾的都长短规范的(这些参数其实不能包管在一切的JVM上都被完成),并且假如在新版本有甚么修改也不会宣布告诉。

2)以-XX扫尾的都是不波动的而且不引荐在生产情况中运用。这些参数的修改也不会宣布告诉。

当写完 Java Heap Size 和 Java Garbage Collection 两篇文章的时分我就开端思索写一片关于JVM参数的文章了,由于这两篇文章是关于JVM参数中首要的两个部分。 可是等我写了另外一篇关于OutOfMemeoryError的文章 JVM option to solve OutOfMemoryError in Java 后依然没有开端写……。如今我很高兴终究把这篇文章写完而且可以宣布了。像平常一样,我等待你们的反应,建议和其他我脱漏的可是你们以为有效的JVM参数


对呼应工夫请求很高的系统来讲,杰出把握JVM关于GC调优的参数是很主要的。比方一个高流量地延迟的电子买卖平台,他请求的呼应工夫都是毫秒级的。要取得合适的参数组合需求大量的剖析和不时的测验考试,更依靠于买卖系统的特征。

关于JVM选项的几点:

1) 布尔型参数选项:-XX:+ 翻开, -XX:- 封闭。(译者注:比方-XX:+PrintGCDetails)

2) 数字型参数选项经过-XX:=设定。数字可所以 m/M(兆字节),k/K(千字节),g/G(G字节)。比方:32K表现32768字节。(译者注:比方-XX:HeapDumpPath=./java_pid.hprof)

3) 字符行参数选项经过-XX:=设定,凡是用来指定一个文件,途径,或许一个号令列表。(译者注:比方-XX:+PrintGCDetails)

号令 java -help可以列出java 使用启动时规范选项(分歧的JVM完成是分歧的)。java -X可以列出不规范的参数(这是JVM的扩大特征)。-X相干的选项不是规范的,被改动也不会告诉。假如你想检查以后使用运用的JVM参数,你可使用:ManagementFactory.getRuntimeMXBean().getInputArguments()。

下面就是一些我常常用到的JVM参数列表。

1) 跟 Java 堆巨细相干的 JVM 内存参数

下面三个 JVM 参数用来指定堆的初始巨细和最大值和仓库巨细

  -Xms        设置 Java 堆的初始化巨细  -Xmx       设置最大的 Java 堆巨细  -Xss        设置Java线程仓库巨细

2) 关于打印渣滓搜集器概况的 JVM 参数

-verbose:gc 记载 GC 运转和运转工夫,普通用来检查 GC 能否是使用的瓶颈

-XX:+PrintGCDetails 记载 GC 运转时的具体数据信息,包含重生成工具的占用内存巨细和消耗工夫等

-XX:-PrintGCTimeStamps  打印渣滓搜集的工夫戳



3) 设置 Java 渣滓搜集器行动的 JVM 参数

-XX:+UseParallelGC      运用并行渣滓搜集

-XX:-UseConcMarkSweepGC 运用并发标记扫描搜集 (Introduced in 1.4.1)

-XX:-UseSerialGC        运用串行渣滓搜集 (Introduced in 5.0.)

需求提示的是,但你的使用长短常要害的、买卖十分频仍使用时,应当慎重运用 GC 参数,由于 GC 操纵是耗时的,你需求在这当中找到均衡点。

4)JVM调试参数,用于远程调试

-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

关于远程调试请浏览 How to Setup Java remote debugging in Eclipse and 10 Java debugging tips in Eclipse 

5) 关于功能诊断的 JVM 参数

-Xprof

-Xrunhprof

6) 关于类途径方面的 JVM 参数

Xbootclasspath用来指定你需求加载,但不想经过校验的类途径。JVM 会对一切的类在加载行进行校验并为每一个类经过一个int数值来使用。这个是包管 JVM 波动的需要进程,但比拟耗时,假如你盼望跳过这个进程,就把你的类经过这个参数来指定。


7) 用于修正 Perm Gen 巨细的 JVM 参数

下面的这三个参数首要用来处理 JVM 过错: java.lang.OutOfMemoryError:Perm Gen Space.
-XX:PermSize and MaxPermSize -XX:NewRatio=2  Ratio of new/old generation sizes. -XX:MaxPermSize=64m     Size of the Permanent Generation.

8) 用来跟踪类加载和卸载的信息

-XX:+TraceClassLoading-XX:+TraceClassUnloading 用来打印类被加载和卸载的进程信息,这个用来诊断使用的内存走漏问题十分有效。

9) JVM switches related to logging

-XX:+TraceClassLoading and -XX:+TraceClassUnloading print information class loads and unloads. Useful for investigating if you have a class leak or if old classes (like JITed Ruby methods in JRuby) are getting collected or not.You can read more about logging in Java on my post 10 Tips while logging in Java


-XX:+PrintCompilationprints out the name of each Java method Hotspot decides to JIT compile. The list will usually show a bunch of core Java class methods initially, and then turn to methods in your application. In JRuby, it eventually starts to show Ruby methods as well

10)用于调试目标的 JVM 开关参数

-XX:HeapDumpPath=./java_pid.hprof  Path to directory or file name for heap dump.

-XX:-PrintConcurrentLocks       Print java.util.concurrent locks in Ctrl-Break thread dump.

-XX:-PrintCommandLineFlags   Print flags that appeared on the command line.

本文中的一切译文仅用于进修和交换目标,转载请务必注明文章译者、出处、和本文链接。 2KB翻译任务按照 CC 协定,假如我们的任务有进犯到您的权益,请实时联络我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部