jconsole远程监控jvm【Windows】【Centos7】

Background

JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jsta。

  • jstack – 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到 当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hung的状态,jstack是非常有用的。目前只有在Solaris和Linux的JDK版本里面才有。
  • jconsole – jconsole是基于Java Management Extensions (JMX)的实时图形化监测工具,这个工具利用了内建到JVM里面的JMX指令来提供实时的性能和资源的监控,包括了Java程序的内存使用,Heap size, 线程的状态,类的分配状态和空间使用等等。
  • jinfo – jinfo可以从core文件里面知道崩溃的Java应用程序的配置信息,目前只有在Solaris和Linux的JDK版本里面才有。
  • jmap – jmap 可以从core文件或进程中获得内存的具体匹配情况,包括Heap size, Perm size等等,目前只有在Solaris和Linux的JDK版本里面才有。
  • jdb – jdb 用来对core文件和正在运行的Java进程进行实时地调试,里面包含了丰富的命令帮助您进行调试,它的功能和Sun studio里面所带的dbx非常相似,但 jdb是专门用来针对Java应用程序的。
  • jstat – jstat利用了JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控等等。
  • 注意:无论是windows环境还是Linux环境,前提安装了JDK。这里测试使用的是JDK8。另外,本地监控就不说了,直接选择就行了。

1、启动Java程序(监控测试使用)

说明:
-Djava.rmi.server.hostname=192.168.110.110 指定jconsole连接的IP(本机IP,不给连接不上)
-Dcom.sun.management.jmxremote 允许远程连接
-Dcom.sun.management.jmxremote.port=5103 指定jconsole连接端口
-Dcom.sun.management.jmxremote.authenticate=false 关闭认证
-Dcom.sun.management.jmxremote.ssl=false 关闭ssl认证

java -jar \
    -Djava.rmi.server.hostname=192.168.110.110 \
    -Dcom.sun.management.jmxremote \
    -Dcom.sun.management.jmxremote.port=5103 \
    -Dcom.sun.management.jmxremote.ssl=false \
    -Dcom.sun.management.jmxremote.authenticate=false \
    lzgl-server-1.0-SNAPSHOT.jar

jconsole远程监控jvm【Windows】【Centos7】_第1张图片

2、Windows环境

  • 启动jconsole
    jconsole远程监控jvm【Windows】【Centos7】_第2张图片
    jconsole远程监控jvm【Windows】【Centos7】_第3张图片

  • 配置IP和端口
    jconsole远程监控jvm【Windows】【Centos7】_第4张图片
    jconsole远程监控jvm【Windows】【Centos7】_第5张图片

  • 成功则显示监控界面
    jconsole远程监控jvm【Windows】【Centos7】_第6张图片

3、Centos7环境

linux下需要Centos不是最小安装,至少装的有GUI,要不怎么图形化展示。其它步骤和Windows类似,这里不再赘述。启动后界面看和比Windows丑,并且是英文版本的。

jconsole远程监控jvm【Windows】【Centos7】_第7张图片

你可能感兴趣的:(Java,java,jvm,linux,内存泄漏)