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类似。推荐 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值