-Xms4096M
-Xmx4096M
-Xmn3072M
-Xss1M
-XX:MetaspaceSize=256M
-XX:MaxMetaspaceSize=256M
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFaction=92
-XX:+UseCMSCompactAtFullCollection
-XX:CMSFullGCsBeforeCompaction=0
-XX:+CMSParallelInitialMarkEnabled
-XX:+CMSScavengeBeforeRemark
-XX:+DisableExplicitGC
-XX:+PrintGCDetails
-Xloggc:gc.log
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/usr/local/app/oom
-XX:NewSize=104857600
-XX:MaxNewSize=104857600
-XX:InitialHeapSize=209715200
-XX:MaxHeapSize=209715200
-XX:SurvivorRatio=8
-XX:MaxTenuringThreshold=15
-XX:PretenureSizeThreshold=3145728
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-Xloggc:gc.log
-Xms:Java堆内存的大小
-Xmx:Java堆内存的最大大小
-Xmn:Java堆内存中的新生代大小,扣除新生代剩下的就是老年代的内存大小了
-XX:PermSize:永久代大小
-XX:MaxPermSize:永久代最大大小
-Xss:每个线程的栈内存大小
-XX:+UseParNewGC:年轻代采用parNew垃圾回收期
-XX:+UseConcMarkSweepGC:老年代采用CMS垃圾回收器
-XX:CMSInitiatingOccupancyFaction=92:老年代内存达到92%触发oldGC
-XX:+UseCMSCompactAtFullCollection:n次Full GC之后会触发一次Compaction操作,也就是压缩操作
-XX:CMSFullGCsBeforeCompaction=0:n次Full GC之后会触发一次Compaction操作
-XX:+CMSParallelInitialMarkEnabled:在CMS垃圾回收器的“初始标记”阶段开启多线程并发执行
-XX:+CMSScavengeBeforeRemark:在CMS的重新标记阶段之前,先尽量执行一次Young GC
-XX:TraceClassLoading:追踪类加载的情况
-XX:TraceClassUnloading:追踪类卸载的情况
jstat -gc PID // jvm的内存和GC情况
jmap -heap PID // 堆内存各区域情况
jmap -histo PID // jvm对象内存占用情况
jps // 显示当前所有java进程pid
jstat -gc PID 1000 1000 // 针对PID这个进程统计JVM运行状态,同时每隔1秒钟打印一次统计信息,连续打印1000次