使用 jstat -gcutil pid 1000 每隔一秒打印一次 gc 统计信息。
查看gc log 打印gc log 需要在启动参数中添加如下参数:
-XX:+PrintGCDateStamps:打印 gc 发生的时间戳。-XX:+PrintTenuringDistribution:打印 gc 发生时的分代信息。-XX:+PrintGCApplicationStoppedTime:打印 gc 停顿时长-XX:+PrintGCApplicationConcurrentTime:打印 gc 间隔的服务运行时长-XX:+PrintGCDetails:打印 gc 详情,包括 gc 前/内存等。-Xloggc:../gclogs/gc.log.date:指定 gc log 的路径
-XX:MetaspaceSize=128m (元空间默认大小)-XX:MaxMetaspaceSize=128m (元空间最大大小)-Xms1024m (堆最大大小)-Xmx1024m (堆默认大小)-Xmn256m (新生代大小)-Xss256k (棧最大深度大小)-XX:SurvivorRatio=8 (新生代分区比例 8:2)-XX:+UseConcMarkSweepGC (指定使用的垃圾收集器,这里使用CMS收集器)-XX:+PrintGCDetails (打印详细的GC日志)
例如:
java -jar -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC newframe-1.0.0.jar
