我们选择查看:可疑的内存写了报告即默认的第一项:Leak Suspects Report。 然后出现如下结果:
7. Jinfo
7.1 简介
jinfo可以输出并修改运行时的java 进程的opts。 用处比较简单,用于输出JAVA系统参数及命令行参数 7.2 命令格式 jinfo -opt pid 7.3 使用例子 1>
如:查看进程2788的MaxPerm大小可以用 jinfo -flag MaxPermSize 10968。 2>查看jvm参数: jinfo -flags 10968 3>查看某进程的运行环境: jinfo 10968
8. Jconsole
8.1 简介
jconsole:一个java GUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM。
用java写的GUI程序,用来监控VM,并可监控远程的VM,非常易用,而且功能非常强。命令行里打 jconsole,选则进程就可以了。
需要注意的就是在运行jconsole之前,必须要先设置环境变量DISPLAY,否则会报错误,Linux下设置环境变量如下: export DISPLAY=:0.0 8.2 本地监控: $ jconsole
如果没有安装java运行的桌面环境会报如下错误:
Exception in thread \
/usr/local/jdk1.6.0_22/jre/lib/amd64/xawt/libmawt.so: libXtst.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1699) at java.lang.Runtime.load0(Runtime.java:770) at java.lang.System.load(System.java:1003)
at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1720) at java.lang.Runtime.loadLibrary0(Runtime.java:823) at java.lang.System.loadLibrary(System.java:1028)
at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50) at java.security.AccessController.doPrivileged(Native Method) at sun.awt.NativeLibLoader.loadLibraries(NativeLibLoader.java:38)
at sun.awt.DebugHelper.
可以这里选择查看本地进程的状况,还是远程进程的状况
通过这张图可以看到内存、线程、类及CPU使用的一些情况。
当JConsole成功建立连接,它从连接上的JMX代理处获取信息,并且以下面几个标签页呈现信息。
? ? ? ? ? ?
概述:监控JVM和一些监控变量的信息。 内在:内存使用信息 线程:线程使用信息 类: 类调用信息 VM 概要: JVM的信息 MBean:所有MBeans的信息
MBean 标签页展示了所有以一般形式注册到JVM上的MBeans。MBeans tab允许你获取所有的平台信息,包括那些不能从其他标签页获取到的信息。注意,其他标签页上的一些信息也在MBeans这里显示。另外,你可以使用 MBeans标签管理你自己的应用的MBeans
8.3 远程监控tomcat运行情况 8.3.1 安装环境: Jdk: 1.6.0_23 Tomcat:tomcat6.0.29
Os: debian 6 内核:2.6.28.10.20101206
8.3.2 在tomcat上的配置 1> 配置访问规则和用户密码
相关推荐: