![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
齐梦星空
专注
展开
-
最详细G1垃圾回收器日志解读
首先,开启gc日志。-XX:+PrintGCDetails疏散阶段疏散阶段,主要是将内存中的数据从一些分区复制到其他分区0.522: [GC pause (young), 0.15877971 secs] # 这次疏散只涉及年轻代,总耗时 0.15877971.如果是混合gc则可能是 [GC pause (mixed), 0.32714353 secs] [Parallel Time: 157.1 ms] # 并行疏散,总耗时 157.1 ms [GC Worker Start (m原创 2021-01-28 18:36:57 · 1401 阅读 · 0 评论 -
jvm 性能调优之 jmap
概述Java Memory Map,打印出某个java进程内存中所有‘对象’的情况(如:产生那些对象,及其数量),可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。Usage: jmap [option] <pid> (to connect to running process) jmap [option] <executable <core> (to connect to a core file原创 2020-10-09 22:18:18 · 468 阅读 · 1 评论 -
G1垃圾回收日志分析
标准 gc 日志使用G1垃圾回收器最难的地方是读懂回收日志。G1回收虽然也是分代的,但是打印出来的日志却不像其他回收器那样明显。所以需要好好配置JVM参数才行。先看下面一段日志,这段日志是通过配置好的JVM参数输出的,分隔明确,很容易分辨出每次回收过程。 # 每次回收以 花括号开始 # invocations=2302 代表第2302次回收{Heap before GC invocations=2302 (full 0): garbage-first heap total 32768K, u原创 2020-10-09 21:47:23 · 1220 阅读 · 0 评论 -
jvm之垃圾回收器
Serial收集器特点:每次进行垃圾收集时,暂停其他所有线程。新生代采用复制算法,老生代采用标记-整理算法适合桌面程序开启方法:-XX:+UseSerialGCParNew收集器特点:新生代使用多个线程进行垃圾回收老年代单线程,所以不建议单独使用该收集器,老年代配合其他收集器新生代采用复制算法,老生代采用标记整理算法服务器首选算法开启参数:-XX:+UseParN...原创 2020-03-10 19:48:29 · 401 阅读 · 0 评论 -
jvm常用参数
文章目录调试跟踪参数配置堆内存参数配置非堆内存参数配置GC参数配置与串行收集器相关的参数与并行相关的参数与CMS回收器相关的参数与G1回收器相关的参数TLAB相关其他相关调试跟踪参数配置-XX:+PrintGC 打印GC日志-XX:+PrintGCDetailsGC 时的详细堆信息-XX:+PrintHeapAtGC 打印GC前后的堆信息-XX:+PrintGCTimeStamps 输...原创 2020-02-23 15:12:49 · 117 阅读 · 0 评论 -
java调优之jstat命令和jinfo命令使用
基本用法:invalid argument countUsage: jstat -help|-options jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]典型用法:jstat -gc pid 时间间隔(毫秒)countjstat -...原创 2019-10-31 16:01:29 · 1093 阅读 · 0 评论