JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jstat(2)

    [size=x-small;]如果能熟练运用这些命令,尤其是在linux下,那么完全可以代替jprofile等监控工具了,谁让它收费呢。呵呵。<br>用命令的好处就是速度快,并且辅助于其他命令,比如grep gawk sed等,可以组装多种符合自己需求的工具。[/size]
<h1><span style="font-weight: normal; font-family: wingdings; font-size: x-small;"><span><span><span><span>u</span></span></span><span style="font: 7pt 'times new roman';">              </span></span></span>[size=x-small;]<span><span><span lang="en-us"><span style="font-family: times new roman;">jps[/size]</span><span>的用法</span></span></span></span></h1>
[size=x-small;]<span><span><span>图中同时打印了<span lang="en-us">young gc[/size]和<span lang="en-us">full gc</span>的总次数、总耗时。而,每次<span lang="en-us">young gc</span>消耗的时间,可以用相间隔的两行<span lang="en-us">ygct</span>相减得到。每次<span lang="en-us">full gc</span>消耗的时间,可以用相隔的两行<span lang="en-us">fgct</span>相减得到。例如红框中表示的第一行、第二行之间发生了<span lang="en-us">1</span>次<span lang="en-us">young gc</span>,消耗的时间为<span lang="en-us">0.252-0.252</span>=<span lang="en-us">0.0</span>秒。</span></span></span></span>
[size=x-small;]<span><span><span>常驻内存区<span lang="en-us">(p)[/size]的使用率,始终停留在<span lang="en-us">98.49%</span>左右,说明常驻内存没有突变,比较正常。</span></span></span></span>
[size=x-small;]<span><span><span>如果<span lang="en-us">young gc[/size]和<span lang="en-us">full gc</span>能够正常发生,而且都能有效回收内存,常驻内存区变化不明显,则说明<span lang="en-us">java</span>内存释放情况正常,垃圾回收及时,<span lang="en-us">java</span>内存泄露的几率就会大大降低。但也不能说明一定没有内存泄露。</span></span></span></span>
[size=x-small;]<span><span><span><span lang="en-us">gct [/size]是<span lang="en-us">ygct </span>和<span lang="en-us">fgct</span>的时间总和。</span></span></span></span>
[size=x-small;]<span><span><span>以上,介绍了<span lang="en-us">jstat[/size]按百分比查看<span lang="en-us">gc</span>情况的功能。其实,它还有功能,例如加载类信息统计功能、内存池信息统计功能等,那些是以绝对值的形式打印出来的,比较少用,在此就不做介绍。</span></span></span></span>
<p class="msonormal" style="margin: 0cm 0cm 0pt;">[size=x-small;]<span lang="en-us"><span><span><span> [/size]</span></span></span></span> 

你可能感兴趣的:(java,工作)