JVM调优学习

Posted baoyi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM调优学习相关的知识,希望对你有一定的参考价值。

1. 调优的原则:

合理编写代码

合理利用硬件资源

合理地进行条用

2. JVM调优的宗旨:

降低FULL GC的执行频次,减小GC的执行时间。

3. 添加常用的参数:

-XX:+HeapDumpOnOutOfMemoryError 默认关闭 在发生内存溢出异常时是否生成堆转储快照,

-Xloggc:D:/gc.log 打印GC的日志到文件

若为jdk1.8的编译器,设置垃圾回收器为G1

-XX:+UseG1GC

-Xmn2g 设置年轻代的大小2G  经验值 1/4-1/3 , Age =15的值。

-XX:SurvivorRatio=4 设置Eden,S0,S1区域的比例,默认为8:1:1

-server 以sever模式运行

备注:Java里面有两种参数,一种是标准参数,它是不以jdk的版本变化而变化的,可以通过java -X help 查看,他所有添加的参数都是 -Xms:500m 这种。

第二种是非标准参数:这种参数相对来说不稳定,随着JVM版本的变化可能会发生变化。

Boolean 类型

      格式: -XX:[+|-]<name> 表示启动或禁用name属性

      例如: -XX:+UseSerialGC

Key-Value 类型

      格式: -XX:<name>=<value> 表示name的属性值为value.

      例如:-XX:MaxTenuringThreshold=15

 4. 常用的JVM调优工具

1. jps  主要用来显示当前java进程的ID号。

2. jstat JVM统计监测工具,主要用于监测并显示JVM的性能统计信息。

3. jconsole 图形化用户界面的监测工具,主要用于监测并显示用于运行于Java平台上的应用程序的性能和资源的占用信息。

4. Jmap Java内存映射工具,主要用于打印指定的Java进程,核心文件或远程调用服务器的共享对象内存映射或堆内存细节。

5. jstact Java堆栈跟踪工具,主要用于打印指定Java进程,核心文件或远程调试服务器的java线程的堆栈跟踪信息。

6. jvisualvm.exe jvm监测,故障排除,分析工具,主要以图形界面的方式提供运行于指定虚拟机的Java应用程序的详细信息。

 

 

以上是关于JVM调优学习的主要内容,如果未能解决你的问题,请参考以下文章

Spark学习之路 (十三)SparkCore的调优之资源调优JVM的基本架构

JVM调优学习

JVM监控与调优

Spark学习之路 SparkCore的调优之资源调优JVM的基本架构

清华大牛纯手写2021年最新JVM调优实战手册,看完让你精通JVM调优

JVM学习笔记------内存调优