为啥要对jvm做优化?(为啥要对jvm做优化操作)

  本篇文章为你整理了为啥要对jvm做优化?(为啥要对jvm做优化操作)的详细内容,包含有为啥要对jvm做优化设计 为啥要对jvm做优化操作 为什么要jvm调优 为什么要用jvm 为啥要对jvm做优化?,希望能帮助你了解 为啥要对jvm做优化?。

  摘要:在jvm中有很多的参数可以进行设置,这样可以让jvm在各种环境中都能够高效的运行。绝大部分的参数保持默认即可。

  本文分享自华为云社区《为什么需要对jvm进行优化,jvm运行参数之标准参数》,作者:共饮一杯无。

  我们为什么要对jvm做优化?

  在本地开发环境中我们很少会遇到需要对jvm进行优化的需求,但是到了生产环境,我们可能将有下面的需求:

  运行的应用“卡住了”,日志不输出,程序没有反应服务器的CPU负载突然升高

  在多线程应用下,如何分配线程的数量?

  ……

  说明:使用的jdk版本为1.8。

  jvm的运行参数

  在jvm中有很多的参数可以进行设置,这样可以让jvm在各种环境中都能够高效的运行。绝大部分的参数保持默认即可。

  三种参数类型

  jvm的参数类型分为三类,分别是:

  -help
-version

  -X参数(非标准参数,相对变化较少的)

  
jvm的标准参数,一般都是很稳定的,在未来的JVM版本中不会改变,可以使用java -help
检索出所有的标准参数。

  
-da[: packagename ...: classname ]

   -disableassertions[: packagename ...: classname ]

   禁用具有指定粒度的断言

   -esa -enablesystemassertions

   启用系统断言

   -dsa -disablesystemassertions

   禁用系统断言

   -agentlib: libname [= 选项 ]

   加载本机代理库 libname , 例如 -agentlib:hprof

   另请参阅 -agentlib:jdwp=help 和 -agentlib:hprof=help

   -agentpath: pathname [= 选项 ]

   按完整路径名加载本机代理库

   -javaagent: jarpath [= 选项 ]

   加载 Java 编程语言代理, 请参阅 java.lang.instrument

   -splash: imagepath

   使用指定的图像显示启动屏幕

  有关详细信息, 请参阅 http://www.oracle.com/technetwork/java/javase/documentation/index.html。

 

 

  
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)

  Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

 

 

  
可以通过-server或-client设置jvm的运行参数。

  它们的区别是Server VM的初始堆空间会大一些,默认使用的是并行垃圾回收器,启动慢运行快。

  Client VM相对来讲会保守一些,初始堆空间会小一些,使用串行的垃圾回收器,它的目标是为了让JVM的启动速度更快,但运行速度会比Serverm模式慢些。

  JVM在启动的时候会根据硬件和操作系统自动选择使用Server还是Client类型的JVM。

  32位操作系统

  如果是Windows系统,不论硬件配置如何,都默认使用Client类型的JVM。
如果是其他操作系统上,机器配置有2GB以上的内存同时有2个以上CPU的话默认使用server模式,否则使用client模式。

  64位操作系统

  
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)

  Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

  zjqzjq

  E:\jvm java -server -showversion TestJVM

  java version "1.8.0_171"

  Java(TM) SE Runtime Environment (build 1.8.0_171-b11)

  Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

  zjqzjq

  #由于机器是64位系统,所以不支持client模式

 

 

  以上就是为啥要对jvm做优化?(为啥要对jvm做优化操作)的详细内容,想要了解更多 为啥要对jvm做优化?的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: