| 现在来解释各列含义: S0C、S1C、S0U、S1U:Survivor 0/1区容量(Capacity)和使用量(Used) EC、EU:Eden区容量和使用量 OC、OU:年老代容量和使用量 PC、PU:永久代容量和使用量 YGC、YGT:年轻代GC次数和GC耗时 FGC、FGCT:Full GC次数和Full GC耗时 GCT:GC总耗时 
 E、hprof(Heap/CPU Profiling Tool) hprof能够展现CPU使用率,统计堆内存使用情况。 语法格式如下: java -agentlib:hprof[=options] ToBeProfiledClass java -Xrunprof[:options] ToBeProfiledClass javac -J-agentlib:hprof[=options] ToBeProfiledClass 
 完整的命令选项如下: Option Name and Value Description Default --------------------- ----------- ------- heap=dump|sites|all heap profiling all cpu=samples|times|old CPU usage off monitor=y|n monitor contention n format=a|b text(txt) or binary output a file=<file> write data to file java.hprof[.txt] net=<host>:<port> send data over a socket off depth=<size> stack trace depth 4 interval=<ms> sample interval in ms 10 cutoff=<value> output cutoff point 0.0001 lineno=y|n line number in traces? y thread=y|n thread in traces? n doe=y|n dump on exit? y msa=y|n Solaris micro state accounting n force=y|n force output to <file> y verbose=y|n print messages about dumps y 
 来几个官方指南上的实例。 CPU Usage Sampling Profiling(cpu=samples)的例子: java -agentlib:hprof=cpu=samples,interval=20,depth=3 Hello 
 上面每隔20毫秒采样CPU消耗信息,堆栈深度为3,生成的profile文件名称是java.hprof.txt,在当前目录。 CPU Usage Times Profiling(cpu=times)的例子,它相对于CPU Usage Sampling  Profile能够获得更加细粒度的CPU消耗信息,能够细到每个方法调用的开始和结束,它的实现使用了字节码注入技术(BCI): javac -J-agentlib:hprof=cpu=times Hello.java 
 Heap Allocation Profiling(heap=sites)的例子: javac -J-agentlib:hprof=heap=sites Hello.java 
 Heap Dump(heap=dump)的例子,它比上面的Heap Allocation Profiling能生成更详细的Heap Dump信息: javac -J-agentlib:hprof=heap=dump Hello.java 
 【编辑推荐】 
    【责任编辑:武晓燕 TEL:(010)68476606】对JVM还有什么不懂的?带你深入浅出JVM!一文带你深入理解JVM你真的了解JVM吗?Java8 JVM内存结构变了,永久代到元空间竟然还有人没搞懂 JVM 类加载器?一文彻底明白 点赞 0
 (编辑:我爱故事小小网_铜陵站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |