|
jdk5.0里面加入了jstack, jconsole, jinfo, jmap, jdb, jstat, jps, 下面对这些工具做简单介绍:jstack -- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hung的状态,jstack是非常有用的。目前只有在solaris和linux的jdk版本里面才有。
jconsole ?c jconsole是基于java management extensions (jmx)的实时图形化监测工具,这个工具利用了内建到jvm里面的jmx指令来提供实时的性能和资源的监控,包括了java程序的内存使用,heap size, 线程的状态,类的分配状态和空间使用等等。
jinfo ?c jinfo可以从core文件里面知道崩溃的java应用程序的配置信息,目前只有在solaris和linux的jdk版本里面才有。
jmap ?c jmap 可以从core文件或进程中获得内存的具体匹配情况,包括heap size, perm size等等,目前只有在solaris和linux的jdk版本里面才有。
jdb ?c jdb 用来对core文件和正在运行的java进程进行实时地调试,里面包含了丰富的命令帮助您进行调试,它的功能和sun studio里面所带的dbx非常相似,但 jdb是专门用来针对java应用程序的。
jstat ?c jstat利用了jvm内建的指令对java应用程序的资源和性能进行实时的命令行的监控,包括了对heap size和垃圾回收状况的监控等等。
jps ?c jps是用来查看jvm里面所有进程的具体状态, 包括进程id,进程启动的路径等等。
另外,还有些其他附带的工具在这里没有列出,比如heap analysis tool, kill -3 方法等等,这些在jdk5.0之前就有,同样也是非常有用的性能调优工具,大家可以参照相应的文档资料来学习。
|