http://www.blogjava.net/Alpha/archive/2008/11/20/241650.html
JDK中Jconsole的使用
2008-04-03 14:16
JAVA应用程序打成jar包的部署方式:
一、Local方式
1、cmd进入dos下,进入到应用程序所在目录,执行语句如下:
java -Dcom.sun.management.jmxremote -jar 程序名.jar
(java -Dcom.sun.management.jmxremote -jar Java2Demo.jar)(测试例子Java2Demo.jar在C:\Program Files\Java\jdk1.6.0_02\demo\jfc\Java2D\)
还出不来的话 直接 在dos里 jconsole 进程号
2、启动jdk_home\bin目录下的Jconsole.exe就可以看到有一个
本地的连接在里面。点击连接就可以进入相应的监视界面了。
二、JMX方式(远程连接):
1、cmd进入dos下,进入到应用程序所在目录,执行语句如下:
java -Dcom.sun.management.jmxremote.port=8903 -
Dcom.sun.management.jmxremote.ssl=false -
Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=192.168.***.***
2、启动jdk_home\bin目录下的Jconsole.exe点高级。在JMX
URL:中输入语句如下:
service:jmx:rmi:///jndi/rmi://192.168.***.***:8903/jmxr
mi
点连接就可以进行远程监控了
web应用程序在tomcat中部署JMX(示例:tomcat-6.0.14)
1、启动tomcat\bin目录下的tomcat6w.exe,在JAVA_OPTS里设
置如下:
-Dcom.sun.management.jmxremote.port=8903
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=192.168.***.***
注意:不能有空格,不然tomcat不能启动。
2、tomcat启动成功后,就可以在另一台机器上启动
jdk_home\bin目录下的Jconsole.exe点高级。在JMX URL:中输
入语句如下:
service:jmx:rmi:///jndi/rmi://192.168.***.***:8903/jmxr
mi
点连接就可以进行远程监控了
以上是JMX基本部署,没有涉及到验证方面,如果使用的话,可
能会有漏洞,因为SSL和authenticate设置为false的话,那么
8903端口就有可能有暴露的危险。
如果想进行密码验证话,可以在网上找资料,自己进行调试。
我自己的应用:
1.修改Linux下tomcat的bin目录下的catalina.sh文件
添加
JAVA_OPTS=-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=7080
-Dcom.sun.management.jmxremote
2.修改/etc/hosts文件下的localhost对应的IP(127.0.0.1)地址,改为linux自身的IP如10.0.0.157.
3.打开jconsole远程输入 10.0.0.157:7080
三
Eden Space (heap): 内存最初从这个线程池分配给大部分对象。
Survivor Space (heap):用于保存在eden space内存池中经过垃圾回收后没有被回收的对象。
Tenured Generation (heap):用于保持已经在 survivor space内存池中存在了一段时间的对象。
Permanent Generation (non-heap): 保存虚拟机自己的静态(refective)数据,例如类(class)和方法(method)对象。Java虚拟机共享这些类数据。这个区域被分割为只读的和只写的,
Code Cache (non-heap):HotSpot Java虚拟机包括一个用于编译和保存本地代码(native code)的内存,叫做“代码缓存区”(code cache)
================================================
使用 jconsole 监控 tomcat6
2008-04-03 14:16
JAVA应用程序打成jar包的部署方式:
一、Local方式
1、cmd进入dos下,进入到应用程序所在目录,执行语句如下:
java -Dcom.sun.management.jmxremote -jar 程序名.jar
(java -Dcom.sun.management.jmxremote -jar Java2Demo.jar)(测试例子Java2Demo.jar在C:\Program Files\Java\jdk1.6.0_02\demo\jfc\Java2D\)
还出不来的话 直接 在dos里 jconsole 进程号
2、启动jdk_home\bin目录下的Jconsole.exe就可以看到有一个
本地的连接在里面。点击连接就可以进入相应的监视界面了。
二、JMX方式(远程连接):
1、cmd进入dos下,进入到应用程序所在目录,执行语句如下:
java -Dcom.sun.management.jmxremote.port=8903 -
Dcom.sun.management.jmxremote.ssl=false -
Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=192.168.***.***
2、启动jdk_home\bin目录下的Jconsole.exe点高级。在JMX
URL:中输入语句如下:
service:jmx:rmi:///jndi/rmi://192.168.***.***:8903/jmxr
mi
点连接就可以进行远程监控了
web应用程序在tomcat中部署JMX(示例:tomcat-6.0.14)
1、启动tomcat\bin目录下的tomcat6w.exe,在JAVA_OPTS里设
置如下:
-Dcom.sun.management.jmxremote.port=8903
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=192.168.***.***
注意:不能有空格,不然tomcat不能启动。
2、tomcat启动成功后,就可以在另一台机器上启动
jdk_home\bin目录下的Jconsole.exe点高级。在JMX URL:中输
入语句如下:
service:jmx:rmi:///jndi/rmi://192.168.***.***:8903/jmxr
mi
点连接就可以进行远程监控了
以上是JMX基本部署,没有涉及到验证方面,如果使用的话,可
能会有漏洞,因为SSL和authenticate设置为false的话,那么
8903端口就有可能有暴露的危险。
如果想进行密码验证话,可以在网上找资料,自己进行调试。
我自己的应用:
1.修改Linux下tomcat的bin目录下的catalina.sh文件
添加
JAVA_OPTS=-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=7080
-Dcom.sun.management.jmxremote
2.修改/etc/hosts文件下的localhost对应的IP(127.0.0.1)地址,改为linux自身的IP如10.0.0.157.
3.打开jconsole远程输入 10.0.0.157:7080
三
Eden Space (heap): 内存最初从这个线程池分配给大部分对象。
Survivor Space (heap):用于保存在eden space内存池中经过垃圾回收后没有被回收的对象。
Tenured Generation (heap):用于保持已经在 survivor space内存池中存在了一段时间的对象。
Permanent Generation (non-heap): 保存虚拟机自己的静态(refective)数据,例如类(class)和方法(method)对象。Java虚拟机共享这些类数据。这个区域被分割为只读的和只写的,
Code Cache (non-heap):HotSpot Java虚拟机包括一个用于编译和保存本地代码(native code)的内存,叫做“代码缓存区”(code cache)
================================================
使用 jconsole 监控 tomcat6
在
catalina.bat
找到
set DEBUG_OPTS=
set JPDA=
在下面添加
set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
保存
通过startup。bat启动 tomcat
启动jconsole (jdk1.6.0_02\lib):输入
localhost:1090
用户名 口令 为空
进入 即可 查看
相关推荐
JConsole是Java开发工具集(Java Development Kit, JDK)中的一个强大的监控工具,主要用于监视Java应用程序的性能和资源使用情况。在JDK 1.6版本中,JConsole提供了丰富的图形用户界面,允许开发者和系统管理员实时...
其次,`jconsole`是一个图形化的JVM监视工具,它可以提供内存使用情况、线程信息、类加载情况等实时数据。开发者可以通过jconsole连接到本地或远程的Java进程,直观地看到各种性能指标,并进行诊断。此外,jconsole...
- 正则表达式:使用正则表达式进行字符串匹配和替换。 6. **IO流** - 流的分类:字节流和字符流,输入流和输出流。 - 文件操作:File类的使用,读写文件的方法。 - 缓冲流:BufferedReader、BufferedWriter等...
- 转换流:使用InputStreamReader和OutputStreamWriter在字节流和字符流间转换。 - 文件操作:掌握文件的读写、复制、删除等方法。 - NIO(New IO):学习通道、缓冲区和选择器,提升IO性能。 6. **反射** - ...
- 性能监控:jconsole、VisualVM工具。 - 类加载机制:双亲委派模型,类加载过程。 12. **设计模式** - 单例模式、工厂模式、建造者模式、观察者模式等23种经典设计模式。 以上只是Java核心知识点的一小部分,...
4. 调优工具:JConsole、VisualVM等。 十、设计模式 了解常见的设计模式,如单例、工厂、观察者、适配器、装饰器、策略、代理等,并能结合实际场景应用。 这6000页的Java面试题涵盖了Java编程的各个方面,从基础...
- 性能监控工具:JConsole、VisualVM等,以及如何分析和优化性能瓶颈。 10. **并发编程** - 并发工具类:Semaphore、CyclicBarrier、CountDownLatch、ExecutorCompletionService等。 - Future和Callable接口:...
- 调优工具:JConsole、VisualVM等。 11. **框架** - Spring框架:依赖注入、AOP、Spring Boot和Spring Cloud。 - MyBatis:持久层框架,动态SQL和Mapper配置。 - Hibernate:对象关系映射(ORM),Session和...
- 调优工具:JConsole、VisualVM等工具的使用。 9. **框架与库** - Spring框架:IoC、AOP,Spring Boot、Spring Cloud等。 - MyBatis:ORM框架,动态SQL,事务管理。 - Redis:内存数据库的使用,缓存策略,...
- 调优工具:JConsole、VisualVM、JFR、JMX。 5. **设计模式** - 单例模式、工厂模式、观察者模式、装饰器模式、代理模式等常见设计模式的应用和理解。 6. **IO流** - 字节流与字符流的区别。 - 文件流、缓冲...
3. HTTP客户端:使用HttpURLConnection或第三方库如Apache HttpClient进行HTTP请求。 七、Java反射与注解 1. 反射:动态创建对象、调用方法、修改属性,以及类、接口和构造器的反射使用。 2. 注解:元数据的应用,...
- 调优工具:jconsole、VisualVM等。 8. **数据库相关** - SQL语句优化:索引、JOIN操作、子查询等。 - JDBC操作:连接、事务、批处理。 - ORM框架:Hibernate、MyBatis的使用和原理。 9. **Spring框架** - ...
- 调优工具:JConsole、VisualVM等,监控和优化JVM性能。 - 类加载机制:双亲委派模型。 6. **反射**: - Class类:获取类信息,动态创建对象。 - Method、Constructor、Field:操作类的方法、构造器和字段。 ...
- 调优工具:jconsole、jvisualvm的使用,了解JVM参数调优。 9. **并发编程**: - 线程安全的数据结构:Atomic类,ConcurrentHashMap,CopyOnWriteArrayList等。 - volatile关键字的理解,以及其与synchronized...
- 泛型:使用泛型提高代码安全性,理解类型擦除。 3. **多线程** - 线程的创建:通过Thread类和Runnable接口创建线程。 - 线程同步:synchronized关键字,wait()、notify()、notifyAll()方法,Lock接口和...
- 调优工具:JConsole、VisualVM 以上只是Java面试和笔试中可能会遇到的部分重点内容,实际题目会结合具体场景进行深入探讨。熟练掌握这些知识点,将有助于你在面试中脱颖而出。在学习过程中,不断实践和理解底层...
Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和丰富的类库而备受开发者喜爱。在准备Java面试时,了解并掌握各种Java题目及答案是至关重要的,这可以帮助求职者提升自己的技能,并在面试中表现出色。...
- **性能监控**:JConsole、VisualVM等工具的使用。 9. **设计模式** - **常见设计模式**:单例、工厂、观察者、装饰器、适配器等23种设计模式的应用和理解。 10. **框架与工具** - **Spring框架**:依赖注入,...
JConsole和其他监控工具可以检测和报告应用程序中的死锁情况,帮助开发者定位和解决问题。 12. **并发工具类(Concurrent Utilities)**: `java.util.concurrent`包提供了丰富的并发工具类,如`ExecutorService`...