精华内容
下载资源
问答
  • tomcat使用jconsole

    千次阅读 2008-08-19 21:51:00
    需要添加如下参数:-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=8086-Dcom.sun.management.jmxremote.authenticate=false-Dcom.sun.management.jmxremote.ssl=false启动JConsole以后会要求...



    需要添加如下参数:

    -Dcom.sun.management.jmxremote

    -Dcom.sun.management.jmxremote.port=8086

    -Dcom.sun.management.jmxremote.authenticate=false

    -Dcom.sun.management.jmxremote.ssl=false

    启动JConsole以后会要求选择连接,切换到Remote标签页port填8086就可以了

     

    举例:

    catalina.bat中:

    set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8086 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

    (本文也发表于http://www.ondev.net/story/show/49,转载请注明出处)

    展开全文
  • in order to enable jconsole to monitor Tomcat Application, just add the additional line in catalina.bat or catalina.sh -Dcom.sun.management.jmxremote.port="9001" -Dcom.sun.management.jmxremote....
    首先知道JVM相关参数的意思:
     写道
    JVM的配置,最常用的两个配置就是:
    -Xms512m –Xmx1024m
    -Xms设置JVM的初始化内存大小,-Xmx为最大内存大小,当突破这个值,将会报内存溢出,导致的原因有很多,主要是虚拟机的回收问题以及程序设计上的内存泄露问题;由于在超过-Xms时会产生页面申请的开销,所以一般很多应用服务器会推荐-Xms和-Xmx是等值的;最大值一般不保持在主机内存的75%的内存左右(多个SERVER是加起来的内存),当JVM绝大部分时间处于回收状态,并且内存长时间处于非常长少的状态就会报:java.lang.OutOfMemoryError:Java heap space的错误。

    上面提及到JVM很多的知识面,很显然你想去设置一下其它的参数,其实对于JVM设置的参数有上百个,这里就说一些较为常用配置即可。

    JVM内存配置分两大类:
    1、-X开头的参数信息:一般每个版本变化不大。
    2、-XX开头的参数信息:版本升级变化较大,如果没有太大必要保持默认即可。
    3、另外还有一个特殊的选项就是-server还是-client,他们在默认配置内存上有一些细微的区别,直接用JDK运行程序默认是-client,应用服务器生产模式一般只会用-server。

    这些命令其实就是在运行java命令或者javaw等相关命令后可以配置的参数,如果不配置,他们有相应的默认值配置。

    1、-X开头的常用配置信息:
    -Xnoclassgc 禁用垃圾回收,一般不适用这个参数
    -Xincgc 启用增量垃圾回收
    -Xmn1024K Eden区初始化JAVA堆的尺寸,默认值640K
    -Xms512m JAVA堆初始化尺寸,默认是32M
    -Xmx512m JAVA堆最大尺寸,默认64M,一般不超过2G,在64位机上,使用64位的JVM,需要操作系统进行unlimited方可设置到2G以上。

    2、-XX开头常用内存配置信息:
    -XX:-DisableExplicitGC 将会忽略手动调用GC的代码,如:System.gc(),将-DisableExplicitGC, 改成+DisableExplicitGC即为启用,默认为启用,什么也不写,默认是加号,但是系统内部默认的并不是什么都启用。
    -XX:+UseParallelGC 将会自动启用并行回收,多余多CPU主机有效,默认是不启用。
    -XX:+UseParNewGC 启用并行收集(不是回收),也是多CPU有效。
    -XX:NewSize=128m 新域的初始化尺寸。
    -XX:MaxNewSize=128m 新创建的对象都是在Eden中,其属于新域,在-client中默认为640K,而-server中默认是2M,为减少频繁的对新域进行回收,可以适当调大这个值。
    -XX:PerSize=64m 设置永久域的初始化大小,在WEBLOGIC中默认的尺寸应该是48M,一般够用,可以根据实际情况作相应条调整。
    -XX:MaxPerSize=64m 设置永久域的最大尺寸。
    另外还可以设置按照区域的比例进行设置操作,以及设置线程、缓存、页面大小等等操作。

    3、-XX开头的几个监控信息:
    -XX:+GITime 显示有多少时间花在编译代码代码上,这部分为运行时编译为对应机器码时间。
    -XX:+PrintGC 打印垃圾回收的基本信息
    -XX:+PrintGCTimeStamps 打印垃圾回收时间戳信息
    -XX:+PrintGCDetails 打印垃圾回收的详细信息
    -XX:+TraceClassLoading 跟踪类的加载
    -XX:+TraceClassResolution 跟踪常量池
    -XX:+TraceClassUnLoading 跟踪类卸载
    等等。。。。。。

    in order to enable jconsole to monitor Tomcat Application, just add the additional line in catalina.bat or catalina.sh

    -Dcom.sun.management.jmxremote.port="9001"

    -Dcom.sun.management.jmxremote.authenticate="false"

    -Dcom.sun.management.jmxremote.ssl="false"

     

    Using JConsole请看

    http://download.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html

     

    关于实战:推荐一篇

    sdh5724 JVM 几个重要的参数

    http://www.iteye.com/wiki/jvm/2870-JVM 提供的设置仅仅是在高压力, 多CPU, 高内存环境下设置

    展开全文
  • TomcatJconsole监控

    2019-11-13 10:52:13
    JConsole的图形用户界面是一个符合Java管理扩展(JMX)规范的监测工具,JConsole使用Java虚拟机(Java VM),提供在Java平台上运行的应用程序的性能和资源消耗的信息。在Java平台,标准版(Java SE平台)6,JConsole...

    JConsole的图形用户界面是一个符合Java管理扩展(JMX)规范的监测工具,JConsole使用Java虚拟机(Java VM),提供在Java平台上运行的应用程序的性能和资源消耗的信息。在Java平台,标准版(Java SE平台)6,JConsole的已经更新到目前的外观,类似于Windows和GNOME桌面(其他平台,将目前标准的Java图形的外观和感觉),在这个文件中提出的屏幕截图是从Windows XP上运行的接口的一个实例。
    Jconsole是一个可执行文件,在Java根目录下有一个bin文件,该文件下可以找到jconsole文件,单击可直接运行该程序,如果将该jconsole的路径设置为环境变量,那么可以直接在开始菜单运行命令中直接键jconsole命令,来运行jconsole程序,如果未设置为环境变量,那么则需要写全路径。
    启动JConsole程序的方式有两种:一种是带参数的启动;另外一种是不带参数启动。
    带参数启动JConsole启动时,又分有两种情况:一种是监控本地进和;另一种是远程监控;
    本地监控的命令格式如下:
    JConsole processID
    processID是指应用程序的进程ID(PID),可以使用以下方式确定一个应用程序的PID:
    Ø 在UNIX或Linux系统,可以使用 ps命令找到正在运行的Java实例的PID;
    Ø 在Windows系统上,可以使用任务管理器,找到java或者javaw进程的PID;
    例如:如果监控JConsole程序,JConsole的进程号为5604,那么可以用下面的命令启动JConsole:
    JConsole 5604
    远程监控的命令格式如下:
    JConsole 主机名:portNum
    主机名是需要监听的主机,portNum是启动Java虚拟机时指定的JMX代理的端口号。
    注意:使用JConsole监视本地应用程序在开发和创建原型是非常有用的,但不推荐用于生产环境,因为Jconsole本身也消耗大量的系统资源。
    执行Jconsole程序时,不带任何参数命令,会弹出Jconsole新建链接对话框,如图所示。
    在这里插入图片描述
    Jconsole有两种监控方式:本地进程监控和远程监控。
    选择本地进程监控,在下面的列表框中会列出与JConsole程序相同用户的进程,选择其中一个进程,单击连接按钮,即可以进行监控的主界面。
    选择远程监控,需要的内容包括。主机名和JMX代理的端口号,以及访问服务器的用户名和密码。
    当连接成功后,会弹出监控界面,如图所示。
    在这里插入图片描述
    监控的内容主要包括六个方面的内容:概述、内存、线程、类、VM摘要和MBean。
    概要信息
    概要信息监控界面主要包括堆内存使用情况、线程数、Java VM中加载类和CPU使用情况。选中各视图可以切换监控的时间片段,同时也可以将视图中的数据保存在一个逗号分隔(CSV)文件中。
    内存信息
    内存监控信息主要提供了内存消耗和内存池的信息,如图所示。
    在这里插入图片描述
    内存监控信息主要监控了两类内存消耗的信息:堆和非堆内存,这两种内存也是Java虚拟机管理的两种内存,这两者都是Java虚拟机启动时创建的。
    Ø 堆内存是运行时数据区域,Java VM的所有类实例和数组分配内存,可能是固定或可变大小的堆。
    Ø 非堆内存包括在所有线程和Java虚拟机内部处理或优化所需的共享的方法。它存储了类的结构、运行常量池、字段和方法数据,以及方法和构造函数的代码,方法区在逻辑上是堆的一部分,看具体实现的方式。根据实现方式的不同,Java虚拟机可能不进行垃圾收集或压缩。与堆内存一样,方法区域可能是一个固定或可变大小,方法区的内存不需要是连续的。
    除了方法区,Java虚拟机可能需要进行内部处理或优化,这也属于非堆内存的内存。例如,实时(JIT)编译器需要内存用于存储从Java虚拟机的高性能的代码翻译的机器码。
    Jconsole提供的监控的堆和非堆的内存主要包括以下几类:
    Ø Eden Space内存池:大多数对象初始化时分配的内存池;
    Ø Survivor Space内存池:这个内存池包含的对象是回收Eden Space内存池后所幸存的对象;
    Ø Tenured Gen内存池:这个内存池包含的对象是在Survivor Space内存池中已经存在一段时间的对象;
    Ø Code Cache内存池:包括HotSpot Java VM的代码缓存和编译、存储代码所消耗的内存;
    Ø Perm Gen[shared-rw]内存池:Perm Gen内存池中读写的区域;
    Ø Perm Gen[shared-ro]内存池:Perm Gen内存池中只读的区域;
    Ø Perm Gen内存池:该内存池包括虚拟机本身反射的数据,如类和方法,Java虚拟机在运行时会共享这些类数据区域,共享的区域有只读和读写两种方式。
    在图表下拉列表框中可以选择不同内存池进行监控,并获得当前内存池所消耗的内存信息,此外右下角显示了堆和非堆的图标,切换显示的图表,内存池图表显示的内容也随着切换,如果显示为红色,那说明使用的内存超过内存的阀值。
    内存池和内存管理器是Java虚拟机的内存系统的关键环节。
    Ø 一个内存池表示Java虚拟机管理的内存区域。Java虚拟机至少有一个内存池,它可能在执行过程中创建或删除内存池,一个内存池可以属于堆或非堆内存。
    Ø 一个内存管理器管理一个或多个内存池,垃圾收集器是一个负责回收不可达的对象使用内存的内存管理器,Java虚拟机可能有一个或更多的内存管理器,在执行过程中,它可以添加或删除内存管理器,一个内存池可以由一个以上的内存管理器进行管理。
    “详细信息”框中显示了内存使用的详细信息,主要包括以下信息:
    已使用:当前使用的内存数,包括已经使用的、可获得或未获得的内存;
    分配:分配的内存必须保证Java虚拟机所需要的使用量,提交的内存可能会随时间的改变而改变,Java虚拟机可能会释放系统内存,分配的内存可能会少于最初启动时分配的内存量,分配的内存大于或等于需要使用的内存量。
    最大值:内存管理中可用的最大内存,该值是变化的或不确定的,如果Java虚拟机使用的内存在不断的增长并且大于所分配的内存量,那么分配内存将失败。
    GC时间:累积垃圾收集的时间和总调用的时间,它可能包含多行,其中每行代表一个垃圾收集器算法在Java虚拟机中所消耗的时间。
    垃圾收集(GC Garbage Collect)是Java虚拟机如何释放不再被引用的对象所占用的内存的机制,它通常认为的对象,有当前活动的“活着”的对象和无法引用或不获得“死”对象,垃圾收集是由释放“死”对象所占用内存的过程,垃圾收集的算法和参数对性能有很大的影响。
    Java HotSpot虚拟机的垃圾收集器使用代GC,代GC的优势大多数都符合以下的概括:
    Ø 它们创建一些短暂一生的对象,如迭代和局部变量;
    Ø 它们创建一些长生命的对象,如高层次的持久对象;
    代GC分为几代,并给每个指定一个或多个内存池,当一代使用了分配的内存,虚拟机上执行一个局部的GC(也叫minor collection),内存池回收死对象使用的内存,这部分的GC速度通常远远优于一个完整的GC。
    Java HotSpot虚拟机定义了两代:年轻代(有时也被称为“托儿所”)和年老代,年轻代包括一个“Eden space”和两个“survivor spaces”,最初,VM将所有的对象在“Eden space”内存池中,并且大多数对象“死”在那里,当它执行了一次局部GC(minor GC),VM将剩余的对象从“Eden space”转移到“survivor spaces”,虚拟长生存时间的对象移动到年老代的“tenured”空间,当年老代填满了,将是一个完整的GC,一个完整的GC往往会很慢,因为它涉及到所有存活的对象,永久代包含虚拟机所有本身数据的反射,如类和方法。
    如果垃圾收集器出现瓶颈,那么可以通过自定义代大小来提高性能。
    线程信息
    线程的监控信息如图所示。
    在这里插入图片描述
    在左下角“线程”列表中显示了所有活动的线程,如果需要查找指定的线程,可以在“过滤器”字段中输入待查找的线程,选中某个线程,右边文本框即会显示出当前线程的名称、状态和堆栈跟踪信息。
    上面的线程数目视图中动态的显示当前活动线程数,主要包括两部分内容:当前活动线程数和峰值线程数。
    线程监控视图中还提供了一个检测死锁线程的功能,单击【检测到死锁】按钮,如果存在任何线程对象监视器出现死锁情况,则会显示出该死锁线程的ID号,并且会显示出当前线程的相关信息。
    在MBean选项卡中可以监视Java虚拟机线程信息的所有属性和操作。
    类信息
    类的监控信息如图所示。
    在这里插入图片描述
    已装入类的数目视图中显示了已装入类的总数和当前加载的类,其实红色表示已装入类的总数,蓝线当前加载的类。详细信息中显示了当前已装入的类、已装入类的总数和已卸载类的总数。
    VM摘要信息
    VM摘要的监控信息如图所示。
    在这里插入图片描述
    在VM摘要信息中主要包括五方面的信息:摘要信息、线程和类信息、内存信息、操作系统信息和其它信息。
    摘要部分的信息主要包括以下信息:
    Ø 连接名称:连接监控时的进程PID信息;
    Ø 运行时间:开始以来Java虚拟机运行的时间总额;
    Ø 处理CPU时间:Java VM的开始,消耗的CPU时间总量;
    Ø 编译总时间:累计时间花费在JIT编译所花费的时间;
    线程和类信息主要包括以下信息:
    Ø 活动线程:当前活动的线程;
    Ø 峰值:最大线程数;
    Ø 守护线程:即运行在后台的线程;
    Ø 已启动的线程总数:运行到目前为止共启动的线程数;
    Ø 当前类已装入:当前正在运行过程中已装载类的总数;
    Ø 已装入类的总数:运行到目前为止所装载类的总数;
    Ø 已卸载类的总数:运行到目前为止已卸载类的总数;
    内存信息主要包括以下信息:
    Ø 当前堆大小:当前堆分配的内存空间;
    Ø 分配的内存:当前已分配的内存大小;
    Ø 堆大小的最大值:堆分配内存的最大值;
    Ø 暂挂结束操作:当前暂时挂起结束的对象;
    Ø 垃圾收集器:垃圾收集器描述了收集器的名称、收集器收集的内存数量和收集这些内存所消费的时间;
    操作系统信息主要包括操作系统名、体系结构、分配的虚拟内存、物理内存总量、可用物理内存、交换空间总量和可用交换空间。
    其它信息主要包括以下信息:
    Ø VM参数:显示通过应用程序传送给Java虚拟机的参数,这些参数不包括的主要方法的参数;
    Ø 类路径:由系统类加载器用于搜索类文件的类路径;
    Ø 库路径:加载库时要搜索的路径列表;
    Ø 引导类路径:引导类加载器搜索类文件的路径列表;
    MBean信息
    MBeans选项卡显示MBean服务器所注册的MBeans的类,MBeans选项卡允许访问平台MXBean服务器,此外,还可以监控和管理应用程序的MBean,MBean信息如图所示。
    在这里插入图片描述
    左侧显示了当前所以运行的MBean,当选中MBean树中某个MBean时,右侧会显示当前被选中MBean的MBeanInfo和描述符信息,在下面会显示当前MBean的相关属性、操作和通知信息。
    MBean属性
    在MBean树中选择一个MBean,单击“属性”节点,将显示MBean的所有属性,以Memory为例,如图所示。
    在这里插入图片描述
    选中属性下面的单个属性,在右侧会显示出当前属性的详细信息,如图所示。
    在这里插入图片描述
    单击属性值(即右侧黑体字),可以展开详细的属性值信息, HeapMemoryUsage属性展开后的值,如图所示。
    在这里插入图片描述
    双击属性值,可以对这些显示的值进行修改,有的属性是以图表的方式显示,如图显示的是Threading中的CurrentThreadUserTime属性值。
    在这里插入图片描述
    Mbean操作
    在MBean树中选择一个MBean,单击“操作”节点,将显示MBean的所有相关操作,以Threading为例,如图所示。
    在这里插入图片描述
    单击操作调用中的按钮,可以调用这些方法,单击某种方法可以显示当前方法的详细信息,如图所示。
    在这里插入图片描述
    Mbean通知
    在MBean树中选择一个MBean,单击“通知”节点,选择某个通知,右侧将显示该通知的详细信息,以Memory为例,如图所示。
    在这里插入图片描述

    展开全文
  • 可以监控CPU、内存、线程、类加载等信息,但以服务方式启动的tomcat不能被jconsole识别,在网上查找了一通,发现可以通过配置JAVA_OPTS方式启动RMI远程监控接口,能够使用jconsole监控tomcat,把方法记录一下,以供...

    Java内置有jconsole监控工具,可以监控CPU、内存、线程、类加载等信息,但以服务方式启动的tomcat不能被jconsole识别,在网上查找了一通,发现可以通过配置JAVA_OPTS方式启动RMI远程监控接口,能够使用jconsole监控tomcat,把方法记录一下,以供以后备查:

    在Tomcat的配置界面中找到Java选项卡,在Java Options框的最下方增加以下内容:

    -Djava.rmi.server.hostname=172.16.18.155

    -Dcom.sun.management.jmxremote

    -Dcom.sun.management.jmxremote.port="18081"

    -Dcom.sun.management.jmxremote.authenticate="false"

    -Dcom.sun.management.jmxremote.ssl="false"

    其中注意-Djava.rmi.server.hostname=172.16.18.155中的IP地址要写成本机配置的IP,也可以配置成0.0.0.0,不然有可能会导致监听不能正常启动

    启动后运行jconsole

    在界面中选择远程进程,填写localhost:18081,用户名和密码为空,点击连接即可

    tomcat内存配置:

    -XX:PermSize=128M

    -XX:MaxNewSize=256M

    -XX:MaxPermSize=512M

    -Xms200m

    -Xmx500m

    展开全文
  • Tomcat配置Jconsole , JvisualVm 监控配置

    千次阅读 2016-05-20 15:47:01
    可以监控CPU、内存、线程、类加载等信息,但以服务方式启动的tomcat不能被jconsole识别,在网上查找了一通,发现可以通过配置JAVA_OPTS方式启动RMI远程监控接口,能够使用jconsole监控tomcat
  • Zabbix server、Java、Tomcat:192.168.120.128 步骤一、前置条件 如编译安装Zabbix server已加上–enable-java以支持jmx监控,可忽略此步 # ./configure --enable-server --enable-proxy --enable-agent --enable-...
  • JConsole的图形用户界面是一个符合Java管理扩展(JMX)规范的监测工具,JConsole使用Java虚拟机(Java VM),提供在Java平台上运行的应用程序的性能和资源消耗的信息。在Java平台,标准版(Java SE平台)6,JConsole...
  • 使用JConsole监控Tomcat

    2014-05-13 09:59:10
    使用JConsole监控Tomcat 2011-06-27 19:48:27| 分类: Tomcat |举报|字号 订阅 JConsole的使用: JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM。可以监控本地和远程的java程序。 ...
  • 主要介绍了使用jconsole监听远程Tomcat服务,需要的朋友可以参考下
  • JConsole使用JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM。可以监控本地和远程的java程序。JConsole 可以监视本地Tomcat和远程服务器上的Tomcat监视前需要做如下配置:1、如果要监视远程Java进程,...
  • 使用jconsole监控tomcat jvm的使用情况 1,首先配置服务器端。 由于服务器端是ubuntu 使用的是jdk1.7版本 源码安装tomcat之后,编辑tomcat根目录下bin/catalina.sh 找到注释的行 # ----- Execute The Request.....
  • 可以监控CPU、内存、线程、类加载等信息,但以服务方式启动的tomcat不能被jconsole识别,在网上查找了一通,发现可以通过配置JAVA_OPTS方式启动RMI远程监控接口,能够使用jconsole监控tomcat,把方法记录一下,以供...
  • 启动tomcat/bin/startup.sh中增加一下变量:  CATALINA_OPTS="-Djava.rmi.server.hostname=192.168.1.69 \   -Dcom.sun.management.jmxremote \   -Dcom.sun.management.jmxremote.port= 1
  • 使用jconsole监控tomcat性能情况

    千次阅读 2014-04-01 10:25:24
    使用jconsole监控tomcat性能情况   1、环境准备 本次环境情况: redhat linux 5.8 tomcat-6.0.36 jdk 1.6.34 jconsole使用jdk自带的(jdk安装目录\bin\jconsole.exe)   2、tomcat配置 打开catalina.sh...
  • jconsole使用背景:web项目使用 tomcat服务部署,当tomcat启动后会占用java内存(tomcat为java代码所写,运行时需要JRE,需要安装JDK得到这个环境),使用jconsole可以监控tomcat占用java内存情况。1.首先需要备份...
  • 使用JCONSOLE监视tomcat

    2012-02-27 12:56:57
    环境:tomcat,jdk1.5,windows 1、首先配置tomcat的bin/catalina.bat,在"set JAVA_OPTS=%JAVA_OPTS% "后添加“-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl...
  • jconsole-tomcat配置

    2012-09-24 16:41:36
    配置tomcat使用jconsole 修改catalina脚本 Windows平台:修改catalina.bat,在dorun和dostart段开头增加一行(注意是一行): set JAVA_OPTS=%JAVA_OPTS% -Djava.rmi.server.hostname=192.168.1.101 -Dcom.sun....
  • 在做性能测试的时候,我们常常需要对Tomcat进行监控,一般tomcat使用的配置就是默认配置。这里我们说下Tomcat的默认配置情况在tomcat配置文件server.xml中的配置中,和连接数相关的参数有:minProcessors:最小空闲...
  • 在做性能测试的时候,我们常常需要对Tomcat进行监控,一般tomcat使用的配置就是默认配置。这里我们说下Tomcat的默认配置情况在tomcat配置文件server.xml中的配置中,和连接数相关的参数有:minProcessors:最小空闲...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 311
精华内容 124
关键字:

tomcat使用jconsole