请教。如何结合 java 自带的 jvisualvm 分析系统性能,及优化 - V2EX
CheungKe
V2EX    Java

请教。如何结合 java 自带的 jvisualvm 分析系统性能,及优化

  •  
  •   CheungKe Aug 21, 2015 4491 views
    This topic created in 3943 days ago, the information mentioned may be changed or developed.

    ps: 硬件环境 aliyun ECS , 2 core , 4g

    Supplement 1    Aug 21, 2015

    再来一张现在的截图

    7 replies    2015-08-22 10:38:06 +08:00
    CheungKe
        1
    CheungKe  
    OP
       Aug 21, 2015
    再来一张现在的截图
    ![]( http://imgur.com/YoFo5rB )
    stevegy
        2
    stevegy  
       Aug 21, 2015
    这么频繁的 GC ? 10 分钟 1 次? 1G 的 heap 可能太少。。。不过照这个趋势, 2G 也撑不过 20 分钟。。
    第二套监控的 memory 貌似一直在 1G ,有大量线程运行时间超长。。。这个可以在 visualVM 里看到是哪些线程运行这么长时间。。。
    要么是这个系统确实很大负载。。。但先看看那些运行时间猛涨的线程吧
    coolcfan
        3
    coolcfan  
       Aug 21, 2015
    有插件可以装,比如 VisualGC 插件能显示出分代的 GC 状况。

    当然仅仅看图表是不够的;可以用这些插件来直接获取 Thread Dump 、 Heap Dump 并且在 VisualVM 的界面里浏览;还可以做 CPU Sampling/Profile 来研究一段时间内的运行情况。
    CheungKe
        4
    CheungKe  
    OP
       Aug 21, 2015
    @stevegy
    1. 没有接触过其他程序,不知道什么指标算正常?
    现在 jvm 设置为 -Xms2g -Xmx2g 。看起来比较正常。

    2.有 10 个线程是在不停的转储图片,并带有一些校验和翻转,都是长任务。

    3.现在还附加了个投票功能,每天 10w 票不到。
    ![]( )
    stevegy
        5
    stevegy  
       Aug 22, 2015   1
    第三张图的负载不高
    图二是明显在 7:45 开始有比较高的负载,然后开始有大量的 GC , jvm heap 基本用完了。照这个负载, 2G heap 还是有必要的
    CheungKe
        6
    CheungKe  
    OP
       Aug 22, 2015
    这台机器是 4g 的内存,是部署 4 个 tomcat x 1g ,还是 2 x 2g ,或者 1 x 4g ,哪个更好
    cloud107202
        7
    cloud107202  
       Aug 22, 2015   2
    GC 频繁,堆内存设置的不够往往是表象。有一种常见的原因是系统里个别对象产生过快,而消费速度跟不上生产速度。找一找代码中哪些逻辑会快速生成大量对象,在处理时候,这些对象可以放到有界阻塞队列里限制一下总数量。
    About     Help     Advertise     Blog     API     FAQ     Solana     3329 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 11:05 PVG 19:05 LAX 04:05 JFK 07:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86