易截截图软件、单文件、免安装、纯绿色、仅160KB

jconsole 监控本机的所有 Java 应用和远程的应用

其实在 JDK 5 中已经新加入了这个功能了. 现在的 JDK 已经内置了对 VM 的监控功能. JDK 6 中这个工具变的更加好用了. 关于 JDK 5 中如何使用这个工具可以参考这里: http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html
http://java.sun.com/j2se/1.5.0/docs/guide/management/jconsole.html
jconsole 可以很方便的监控本机的所有 Java 应用和远程的应用.
监控本地应用
 首先就是启动您要监控的应用, 例如我用 JDK 1.6 来启动了 Tomcat, 或者 Eclipse 也可以, 可以在任务管理器(Ctrl+Alt+Del可以调出来, 或者在任务栏点击右键)里看到进程ID, 例如我这里是 6132.
接着在 JDK 安装目录中(<JDK_HOME>/bin/jconsole.exe)启动 jconsole.exe (双击或者在 cmd 里面敲入 jconsole), 主界面会提示您建立一个新连接:

可以看到进程ID, 选择它, 然后点击"连接". 这些 ID 必须都是用 JDK 1.6 的 java.exe 启动的, 否则在列表里看不到.

JConsle 能监控内存,线程,类的数目和CPU然后点击各个 Tab 可以看到详细的输出, 详细的输出包括:
内存: 堆/非堆, 峰值, 内存的各个部分, 例如 Perm, Eden 等的大小曲线图.
线程: 峰值, 所有线程的列表, 堆栈跟踪(哪个对象中的线程)等. 还可以强制执行GC.
类: 峰值, 类总数曲线图.
MBean: 一些 JVM 参数的详细 MBean 信息.
监控远程进程
首先需要在运行的应用上启用远程管理, 参数如下(简单期间就不加用户验证了):
java -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar ../demo/jfc/Java2D/Java2Demo.jar
然后连接的时候选择远程进程, 地址输入:
localhost:1090
即可.当然在别的电脑上(一般是局域网)可以输入那个电脑的IP.
综述: 使用 JConsole 可以简单的监控 Server 状态, 但是本身要占一定的资源, 不过 JVM 自带的监控, 理论上讲应该是占资源很小很小的, 可以用它来方便的了解 Web 服务器应用进程的状态. 如果要调优应用, 还是使用 JProfiler 等工具更好一些, 当然它们占的资源也更大.
后记:
jdk1.6.0\demo\management\MemoryMonitor
这里带了个很好的画内存曲线图的例子... 大家改改就可以实现同时监控多台 Server 的内存曲线了....


相关文档:

[转]Oracle 公布 Java 发展策略


甲骨文已经完成了对SUN公司的收购,于1月27日发布了对Sun各项业务的整合规划。总体上说,Oracle要成为软硬件一体化的整体解决方案的厂商。 以下就其对备受关注的Java方面的策略做个介绍。
Java SE:
1)推出JDK SE 7, 它将包括多个新的功能,如提高开发人员的效率,提供高性能,对多核芯片的支持等。
2)Sun的HotSp ......

JAVA 开发内存溢出

GC是垃圾收集的意思(Garbage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。
一、内存溢出类型
1、java.lang.OutOfMemoryE ......

JAVA内存溢出解析

  原因有很多种,比如:
1.数据量过于庞大;死循环 ;静态变量和静态方法过多;递归;无法确定是否被引用的对象;
2.虚拟机不回收内存(内存泄漏);
    说白了就是程序运行要用到的内存大于虚拟机能提供的最大内存就发生内存溢出了。 内存溢出的问题要看业务和系统大小而定,对于某些系统可能内存 ......

java Timer 学习

Timer位于java.util下面,一般叫他java计时器。
javaAPI的解释如下:
一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。
先来看看效果:
1.设计计时器 
import java.io.IOException;
import java.util.Calendar;
import java.util.Timer;
public class TimerTest {
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号