JDK5.0内置工具的使用详解
创始人
2024-04-13 06:00:25
0

JDK5.0内置工具的使用是什么情况呢?首先我们看看JDK5.0包括的调试工具有哪些?

我们在这里对JDK5.0内置工具做大致的概念性的介绍,然后希望通过介绍我自己在实际工作中使用这些工具解决问题的实例来让大家对这些工具有更深入的了解。
 
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 – jconsole是基于 Management Extensions (JMX)的实时图形化监测工具,这个工具利用了内建到JVM里面的JMX指令来提供实时的性能和资源的监控,包括了程序的内存使用,Heap size, 线程的状态,类的分配状态和空间使用等等。

jinfo – jinfo可以从core文件里面知道崩溃的Java应用程序的配置信息,目前只有在Solaris和Linux的JDK版本里面才有。

jmap – jmap 可以从core文件或进程中获得内存的具体匹配情况,包括Heap size, Perm size等等,目前只有在Solaris和Linux的JDK版本里面才有。

jdb – jdb 用来对core文件和正在运行的Java进程进行实时地调试,里面包含了丰富的命令帮助您进行调试,它的功能和Sun studio里面所带的dbx非常相似,但 jdb是专门用来针对Java应用程序的。

jstat – jstat利用了JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控等等。

jps – jps是用来查看JVM里面所有进程的具体状态, 包括进程ID,进程启动的路径等等。

另外,还有些其他附带的工具在这里没有列出,比如Heap Analysis Tool, kill -3 方法等等,这些在JDK5.0之前就有,同样也是非常有用的性能调优工具,大家可以参照相应的文档资料来学习,在文章后面也会推荐一些相应的文档给大家作为参考。

好,说了这么多,让我们来看看JDK5.0内置工具在现实工作能给我们带来什么帮助,下面是我和ISV一起共同工作的实际例子,在这里把它们简单阐述出来,希望对大家有所帮助。

jconsole和jstack使用实例:

在做过的项目中,曾经有几个是使用jstack和jconsole来解决问题的。在下面的例子中,由于部分代码涉及到公司名字,我使用了xxx来代替。

1. 其中的一个是Web2.0的客户,由于目前Sun Microsystem公司推出的Niagara系列非常适合网络方面的多线程应用,并且已经在业界非常出名,所以他们决定使用T2000来测试一下如果应用到他们自己的应用是否能够获得出众的性能。
整个应用的架构如下:

  1. Apache 2.0.59 + Resin EE 2.1.17 + Jdk 1.5.0.07 + 9   
  2. 运行的操作系统:  
  3. Solaris 10 Update 3 (11/06), EIS patches包.   
  4. 测试工具:Apache benchmark tool. 

在客户的测试环境中,我们分别做了Apache, Resin, Solaris的相应调整,其中包括了Apache使用Prefork模式,并且调整了httpd.conf文件里面相应的ServerLimit, ListenBacklog,Maxclient等等值,Resin服务器调整Jvm heap size, 并行回收new generation和old generation, ***线程数,oracle连接数等等参数,Solaris操作系统做了网络和系统的相应调整,最终把整套系统搬进了生产环境,一切顺利进行,但当进入其中的一个论坛系统时却发现系统响应时间非常缓慢,用Apache Benchmark Tool加少量压力得到结果如下,由于是在生产环境下所以不敢使用大的压力:

  1. This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0   
  2. Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/   
  3. Copyright (c) 2006 The Apache Software Foundation, http://www.apache.org/   
  4. Benchmarking free.xxx.com (be patient).....done  
  5. Server Software: Resin/2.1.17   
  6. Server Hostname: free.xxx.com   
  7. Server Port: 8080 
  8. Document Path: /forum/bbsMessageList.act?bbsThreadId=1580107   
  9. Document Length: 27012 bytes  
  10. Concurrency Level: 10   
  11. Time taken for tests: 92.148883 seconds   
  12. Complete requests: 100   
  13. Failed requests: 0   
  14. Write errors: 0   
  15. Keep-Alive requests: 0   
  16. Total transferred: 2722500 bytes   
  17. HTML transferred: 2701200 bytes   
  18. Requests per second: 1.09 [#/sec] (mean)   
  19. Time per request: 9214.888 [ms] (mean)   
  20. Time per request: 921.489 [ms] (mean, across all concurrent requests)   
  21. Transfer rate: 28.84 [Kbytes/sec] received  
  22. Connection Times (ms)   
  23. min mean[+/-sd] median max   
  24. Connect: 0 0 0.0 0 0   
  25. Processing: 9089 9187 139.4 9140 9789   
  26. Waiting: 3067 3163 138.3 3117 3766   
  27. Total: 9089 9187 139.4 9140 9789 
  28. Percentage of the requests served within a certain time (ms)   
  29. 50% 9140   
  30. 66% 9178   
  31. 75% 9189   
  32. 80% 9201   
  33. 90% 9281   
  34. 95% 9560   
  35. 98% 9739   
  36. 99% 9789 
  37. 100% 9789 (longest request) 

每一个请求的响应时间大概去到8-9秒时间,这个是客户所不能接受的。

在实验的初段,Tomcat, 10g服务器都是架设在T2000上,我们在对T2000服务器的OS,网络,应用服务器做了必要的调整后,发现其表现还是不尽如人意。

JDK5.0内置工具就介绍到这里,希望对你在开发的时候有所帮助。

【编辑推荐】

  1. JDK的安装图解与环境变量设置详解
  2. JDK与JRE的关系和path的作用浅谈
  3. JDK、SDK、JRE、JVM概念详解
  4. JDK1.6的十大技术浅谈
  5. 安装JDK后JRE与JVM联系浅谈

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...