zoukankan      html  css  js  c++  java
  • JVM参数详细列表

    -client :设置JVM使用client模式,特点启动较快(神机不明显(I5/8G/SSD))
    -server :设置JVM使用server模式。64位JDK默认启动该模式
    -agentlib:libname[=options] :用于加载本地的lib
    -agentlib:hprof :用于获取JVM的运行情况
    -agentpath:pathnamep[=options] :加载制定路径的本地库
    -Dproperty=value :设置系统属性名/值对
    -jar :制定以jar包的形式执行一个应用程序
    -javaagent:jarpath[=options] :实现premain方法在main方法前执行可以利用该方式玩一个JVM层面的hook很有意思的东西
    -verbose:jni :输出native方法的调用情况玩JNI必备技能
    例如:
    -agentlib:jprofilerti=port=8849 -Xbootclasspath/a:/usr/local/jprofiler5/bin/agent.jar


    java堆栈大小设置相关

    -Xms :设置Java堆栈的初始化大小
    -Xmx :设置最大的java堆大小
    -Xmn :设置Young区大小
    -Xss :设置java线程堆栈大小
    -XX:PermSize and MaxPermSize :设置持久带的大小
    -XX:NewRatio :设置年轻代和老年代的比值
    -XX:NewSize :设置年轻代的大小
    -XX:SurvivorRation=n :设置年轻代中E去与俩个S去的比值

    打印垃圾回收信息及设置垃圾回收器

    -verbose:gc :记录GC运行以及运行时间,一般用来查看GC是否有瓶颈
    -XX:+PrintGCDetails :记录GC运行时的详细数据信息,包括新生占用的内存大小及消耗时间
    -XX:-PrintGCTimeStamps :打印收集的时间戳
    -XX:+UseParallelGC :使用并行垃圾收集器
    -XX:ParallelGCThreads=N,设置并行垃圾回收的线程数,此值可以设置与机器处理机数量一致(有建议core+3/4);
    -XX:-UseConcMarkSweepGC :使用并发标志扫描收集器
    -XX:-UseSerialGC :使用串行垃圾收集器
    -Xloggc:filename :设置GC记录的文件
    -XX:+UseGCLogFileRotation :启用GC日志文件的自动转储
    -XX:GCLogFileSize=1M :控制GC日志文件的大小

    -XX:+UseAdaptiveSizePolicy 设置此选项后,并行收集器会自动选择年轻代区大小和相应的Survivor区比例,以达到目标系统规定的最低相应时间或者收集频率等,此值建议使用并行收集器时,一直打开。
    -XX:GCTimeRatio=n:设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n)

    -XX:+UseCMSCompactAtFullCollection:使用并发收集器时,开启对年老代的压缩。
    -XX:CMSFullGCsBeforeCompaction=0:上面配置开启的情况下,这里设置多少次Full GC后,对年老代进行压缩


    -XX:+PrintGCApplicationConcurrentTime:打印每次垃圾回收前,程序未中断的执行时间。可与上面混合使用输出形式:Application time: 0.5291524 seconds
    -XX:+PrintGCApplicationStoppedTime:打印垃圾回收期间程序暂停的时间。可与上面混合使用,输出形式:Total time for which application threads were stopped: 0.0468229 seconds
    -XX:PrintHeapAtGC:打印GC前后的详细堆栈信息  

    调试参数

    -Xdebug
    -Xnoagent
    -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
    -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.

    关于性能

    -Xprof
    -Xrunhprof

    类加载和跟踪类加载和卸载的信息

    Xbootclasspath :指定需要加载,但不想通过校验类路径。
    JVM会对所有的类在加载前进行校验并为每个类通过一个int数值来应用
    -XX:+TraceClassLoading :跟踪类加载的信息(诊断内存泄露很有用)
    -XX:+TraceClassUnloading :跟踪类卸载的信息(诊断内存泄露很有用)


    JVM调优工具Jconsole,jProfile,VisualVM

        Jconsole :JDK自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。
        JProfiler:商业软件,需要付费。功能强大。
        VisualVM:JDK自带,功能强大,与JProfiler类似。推荐 
  • 相关阅读:
    使用jmeter进行性能测试-Jmeter教程及技巧汇总 (转)
    Linux防火墙(Iptables)的开启与关闭
    解决Unable to load R3 module ...VBoxDD.dll (VBoxDD):GetLastError=1790
    Linux如何修改文件/文件夹内所有文件的权限
    php抽象类的简单应用
    php接口和多态的概念以及简单应用
    关于php中数据访问的几点补充
    php中重写和final关键字的使用
    php中static静态关键字的使用
    php对象引用和析构函数的关系
  • 原文地址:https://www.cnblogs.com/jpfss/p/8862174.html
Copyright © 2011-2022 走看看