zoukankan      html  css  js  c++  java
  • 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应用程序的详细信息。

     

     

  • 相关阅读:
    LightOJ 1203--Guarding Bananas(二维凸包+内角计算)
    断言assert()与调试帮助
    POJ 3528--Ultimate Weapon(三维凸包)
    POJ 2208--Pyramids(欧拉四面体体积计算)
    HDU 1411--校庆神秘建筑(欧拉四面体体积计算)
    HDU 1241 DFS
    HDU 2037(贪心)
    一次傻乎乎的错误QAQ
    封装Qt的SQLite接口类
    最小生成树(Kruskal算法)模板
  • 原文地址:https://www.cnblogs.com/baoyi/p/jvm_perfect.html
Copyright © 2011-2022 走看看