声明:本文转自《https://www.cnblogs.com/anxiao/p/6796644.html?utm_source=itdadao&utm_medium=referral》

企业级应用开发中经常会遇到以下问题,可以使用工具对JVM进行监管,以便及时查找问题所在。
1)内存不足OutOfMemory(大对象没有gc等),内存泄露;
2)线程死锁,线程数过多;
3)锁争用(Lock Contention),资源未及时释放(数据库);
4)Java进程CPU消耗过高.

Java安装目录的bin文件加下有一些工具可以用来监控JVM性能,如jconsole、jvisualvm、jmap、jps、jstack、jhat、jstat等。

1. jconsole

  jconsole可以监控Java应用程序(如jar应用、tomcat等),但被监视的应用程序必须和jconsole是用同一个用户运行的。jvisualvm的使用和jconsole类似。

  • 本地监控: jconsole pid
  • 远程监控: jconsole [ hostname:portNum ]

使用远程监控需要配置jmx代理信息,修改Tomcat的bin目录下的catalina.bat。

set JAVA_OPTS= %JAVA_OPTS% -Djava.rmi.server.hostname=HostIP
set JAVA_OPTS= %JAVA_OPTS% -Dcom.sun.management.jmxremote.port=8888
set JAVA_OPTS= %JAVA_OPTS% -Dcom.sun.management.jmxremote.ssl=false
set JAVA_OPTS= %JAVA_OPTS% -Dcom.sun.management.jmxremote.authenticate=false

更多相关文章

  1. java线程池深入二
  2. Java Executor多线程框架
  3. java线程--volatile实现可见性
  4. Maven:主线程中的NoClassDefFoundError
  5. java线程池使用场景和使用方法较详细文摘
  6. java中多线程安全问题产生&解决方案——同步方法

随机推荐

  1. Android 多点触控技术
  2. Android下xml中RelativeLayout布局常见属
  3. 好工具推荐系列:跨平台安卓实时投屏软件Qt
  4. Android(安卓)studio 注释模板
  5. Android平台调用WebService详解
  6. Android基础介绍
  7. Android之ConstraintLayout
  8. Android进程与线程基本知识
  9. Android 中使用 Aspectj 限制快速点击
  10. 友盟—安卓巴士【Android开发原创教程大