searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

常用JVM参数

2023-09-01 01:32:42
8
0

JVM(Java 虚拟机)是Java代码在执行时的虚拟处理器,负责负载均衡,垃圾回收,类装载和即时编译等。

通过设置JVM参数,可以优化代码的性能和稳定性。合理的设置JVM参数可以加速应用程序的执行速度,减小内存占用,以及优化垃圾回收效率等。

JVM参数的添加和调整:

可以通过编辑JDK安装目录下的conf文件夹下的jvm.cfg文件来添加和调整JVM的参数。

常用JVM参数的使用场景:

在实际项目中,需要根据具体的业务场景来选择优化和设置JVM参数。

JVM参数分类:

  1. 基础参数:用于控制 Java 虚拟机的基本启动参数。
  2. 模式参数:用于选择不同的运行模式,可以显著的影响程序的执行。
  3. GC 参数:用于控制垃圾回收流程的参数。
  4. 调试参数:用于协助诊断和调试 Java 代码的参数。
  5. 性能参数:用于调优程序性能和资源占用。

基础参数

-Xms 和 -Xmx:设置 Java 虚拟机初始化堆内存的大小和最大堆内存的大小。

  • java -Xms512m -Xmx1024m Test

-Xss:设置每个线程栈内存的大小。

  • java -Xss256k Test

-XX:PermSize 和 -XX:MaxPermSize:设置方法区域的大小和最大大小。

  • java -XX:PermSize=64m -XX:MaxPermSize=256m Test

模式参数

-server:用于选择服务端模式,该模式会优化代码的执行速度和性能。

  • java -server Test

-client:用于选择客户端模式,适用于图形化程序运行,该模式会优化代码的响应速度。

  • java -client Test

GC参数

Serial GC:适用于单处理器和小内存的场景,实现简单,但是效率较低。

  • java -XX:+UseSerialGC Test

Parallel GC:适用于多核处理器和大内存的场景,可以显著提升垃圾回收的效率。

  • java -XX:+UseParallelGC Test

CMS GC:适用于交互式应用程序或者大规模多线程并发应用场景,能够快速响应用户请求。

  • java -XX:+UseConcMarkSweepGC Test

G1 GC:适用于大内存和多核处理器的场景,实现了高效的垃圾回收机制。

  • java -XX:+UseG1GC Test

调试参数

-verbose:gc:用于输出垃圾回收的日志信息,方便诊断和调试。

  • java -verbose:gc Test

-XX:+HeapDumpOnOutOfMemoryError:用于在程序发生内存溢出时,自动生成堆转储文件。

  • java -XX:+HeapDumpOnOutOfMemoryError Test

-XX:ErrorFile=:用于设置错误日志输出文件的绝对路径。

  • java -XX:ErrorFile=/usr/local/log/error.log Test

性能参数

-XX:+TieredCompilation:用于启用多层次编译器,加速代码的执行速度。

  • java -XX:+TieredCompilation Test

-XX:+UseCompressedOops:用于启用压缩指针技术,减小 Java 对象的大小,降低内存占用。

  • java -XX:+UseCompressedOops Test

-XX:MaxInlineLevel=:用于设置方法内联策略的最大级别。

  • java -XX:MaxInlineLevel=15 Test

-XX:MaxTenuringThreshold=:用于设置对象年龄的最大阈值。

  • java -XX:MaxTenuringThreshold=5 Test

总结

通过合理的设置JVM参数,可以优化代码性能和稳定性,提升应用程序的执行效率。在实际开发中,需要根据具体的业务场景来选择和测试合适的JVM参数。

0条评论
0 / 1000
陈****曈
5文章数
0粉丝数
陈****曈
5 文章 | 0 粉丝
陈****曈
5文章数
0粉丝数
陈****曈
5 文章 | 0 粉丝
原创

常用JVM参数

2023-09-01 01:32:42
8
0

JVM(Java 虚拟机)是Java代码在执行时的虚拟处理器,负责负载均衡,垃圾回收,类装载和即时编译等。

通过设置JVM参数,可以优化代码的性能和稳定性。合理的设置JVM参数可以加速应用程序的执行速度,减小内存占用,以及优化垃圾回收效率等。

JVM参数的添加和调整:

可以通过编辑JDK安装目录下的conf文件夹下的jvm.cfg文件来添加和调整JVM的参数。

常用JVM参数的使用场景:

在实际项目中,需要根据具体的业务场景来选择优化和设置JVM参数。

JVM参数分类:

  1. 基础参数:用于控制 Java 虚拟机的基本启动参数。
  2. 模式参数:用于选择不同的运行模式,可以显著的影响程序的执行。
  3. GC 参数:用于控制垃圾回收流程的参数。
  4. 调试参数:用于协助诊断和调试 Java 代码的参数。
  5. 性能参数:用于调优程序性能和资源占用。

基础参数

-Xms 和 -Xmx:设置 Java 虚拟机初始化堆内存的大小和最大堆内存的大小。

  • java -Xms512m -Xmx1024m Test

-Xss:设置每个线程栈内存的大小。

  • java -Xss256k Test

-XX:PermSize 和 -XX:MaxPermSize:设置方法区域的大小和最大大小。

  • java -XX:PermSize=64m -XX:MaxPermSize=256m Test

模式参数

-server:用于选择服务端模式,该模式会优化代码的执行速度和性能。

  • java -server Test

-client:用于选择客户端模式,适用于图形化程序运行,该模式会优化代码的响应速度。

  • java -client Test

GC参数

Serial GC:适用于单处理器和小内存的场景,实现简单,但是效率较低。

  • java -XX:+UseSerialGC Test

Parallel GC:适用于多核处理器和大内存的场景,可以显著提升垃圾回收的效率。

  • java -XX:+UseParallelGC Test

CMS GC:适用于交互式应用程序或者大规模多线程并发应用场景,能够快速响应用户请求。

  • java -XX:+UseConcMarkSweepGC Test

G1 GC:适用于大内存和多核处理器的场景,实现了高效的垃圾回收机制。

  • java -XX:+UseG1GC Test

调试参数

-verbose:gc:用于输出垃圾回收的日志信息,方便诊断和调试。

  • java -verbose:gc Test

-XX:+HeapDumpOnOutOfMemoryError:用于在程序发生内存溢出时,自动生成堆转储文件。

  • java -XX:+HeapDumpOnOutOfMemoryError Test

-XX:ErrorFile=:用于设置错误日志输出文件的绝对路径。

  • java -XX:ErrorFile=/usr/local/log/error.log Test

性能参数

-XX:+TieredCompilation:用于启用多层次编译器,加速代码的执行速度。

  • java -XX:+TieredCompilation Test

-XX:+UseCompressedOops:用于启用压缩指针技术,减小 Java 对象的大小,降低内存占用。

  • java -XX:+UseCompressedOops Test

-XX:MaxInlineLevel=:用于设置方法内联策略的最大级别。

  • java -XX:MaxInlineLevel=15 Test

-XX:MaxTenuringThreshold=:用于设置对象年龄的最大阈值。

  • java -XX:MaxTenuringThreshold=5 Test

总结

通过合理的设置JVM参数,可以优化代码性能和稳定性,提升应用程序的执行效率。在实际开发中,需要根据具体的业务场景来选择和测试合适的JVM参数。

文章来自个人专栏
陈金曈的专栏
5 文章 | 2 订阅
0条评论
0 / 1000
请输入你的评论
0
0