jvm 监控

    jvm监控可视化的有 jconsole 、jmc 、jvisualvm

    其中jvisualvm开启一些监控会导致他自己关闭。

    并且jdk下有很多工具可以进行jvm监控,

    jmap -histo:live pid 进行pid可通过jvisualvm查看,jvisualvm开启时能看到所有java进程以及pid

    jmap -histo:live可以输出所有对象个数,以及内存可以监控单例以及是否有内存泄露。此命令有时会

    失败,多重试几次即可。

   

    查看线上情况可以根据jmx协议查看线上jvm情况以及根据线上docker情况配置垃圾收集线程数以及内存jsf应用

(类似dubbo应用)

   netip=`hostname -i`
   netip=`ifconfig | awk -F'addr:|Bcast' '/Bcast/{print $2}' `

    cd `dirname $0`
   setsid java -XX:ParallelGCThreads=8 -XX:ConcGCThreads=4 -Xms1024m -Xmx8g -classpath .:../conf/:../lib/* -                DworkerServerName=mbi.findgoods.server1 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=52001 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=$netip com.xx.app.server.ServerMain_FindGoods &
#tail -f nohup.out

    参考

    http://my.oschina.net/feichexia/blog/196575

    http://www.infoq.com/cn/articles/java-profiling-with-open-source

   垃圾回收线程先关连接

   http://jinnianshilongnian.iteye.com/blog/2247685

   tomcat配置jmx监控

   http://yunzhu.iteye.com/blog/1554869

    感谢网友的研究

原文地址:https://www.cnblogs.com/freedommovie/p/5695366.html