加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

JVM机能调优监控器材行使详解

发布时间:2019-11-01 20:34:26 所属栏目:站长百科 来源:zhisheng的blog
导读:实际企业级Java应用开拓、维护中,偶然辰我们会遇到下面这些题目: OutOfMemoryError,内存不敷 内存泄漏 线程死锁 锁争用(Lock Contention) Java历程耗损CPU过高 ...... 这些题目在一般开拓、维护中也许被许多人忽视(好比有的人碰着上面的题目只是重启服

此刻来表明各列寄义:

  1. S0C、S1C、S0U、S1U:Survivor 0/1区容量(Capacity)和行使量(Used) 
  2. EC、EU:Eden区容量和行使量 
  3. OC、OU:大哥代容量和行使量 
  4. PC、PU:永世代容量和行使量 
  5. YGC、YGT:年青代GC次数和GC耗时 
  6. FGC、FGCT:Full GC次数和Full GC耗时 
  7. GCT:GC总耗时 

E、hprof(Heap/CPU Profiling Tool)

hprof可以或许揭示CPU行使率,统计堆内存行使环境。

语法名目如下:

  1. java -agentlib:hprof[=options] ToBeProfiledClass 
  2. java -Xrunprof[:options] ToBeProfiledClass 
  3. javac -J-agentlib:hprof[=options] ToBeProfiledClass 

完备的呼吁选项如下:

  1. Option Name and Value Description Default 
  2. --------------------- ----------- ------- 
  3. heap=dump|sites|all heap profiling all 
  4. cpu=samples|times|old CPU usage off 
  5. monitor=y|n monitor contention n 
  6. format=a|b text(txt) or binary output a 
  7. file=<file> write data to file java.hprof[.txt] 
  8. net=<host>:<port> send data over a socket off 
  9. depth=<size> stack trace depth 4 
  10. interval=<ms> sample interval in ms 10 
  11. cutoff=<value> output cutoff point 0.0001 
  12. lineno=y|n line number in traces? y 
  13. thread=y|n thread in traces? n 
  14. doe=y|n dump on exit? y 
  15. msa=y|n Solaris micro state accounting n 
  16. force=y|n force output to <file> y 
  17. verbose=y|n print messages about dumps y 

来几个官方指南上的实例。

CPU Usage Sampling Profiling(cpu=samples)的例子:

  1. 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):

  1. javac -J-agentlib:hprof=cpu=times Hello.java 

Heap Allocation Profiling(heap=sites)的例子:

  1. javac -J-agentlib:hprof=heap=sites Hello.java 

Heap Dump(heap=dump)的例子,它比上面的Heap Allocation Profiling能天生更具体的Heap Dump信息:

  1. javac -J-agentlib:hprof=heap=dump Hello.java 

【编辑保举】

  1. 对JVM尚有什么不懂的?带你深入浅出JVM!
  2. 一文带你深入领略JVM
  3. 你真的相识JVM吗?
  4. Java8 JVM内存布局变了,永世代到元空间
  5. 竟然尚有人没搞懂 JVM 类加载器?一文彻底大白
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读