转载:http://blog.csdn.net/kimylrong/article/details/50970493

查询、监控、分析Java应用程序的时候,我们关注的点主要集中在资源利用,比如CPU,内存,IO,线程等。其中内存以及线程的分析尤为常见。内存,是否有内存泄漏,各个区块内存分配是否大小合适。线程,数目是否合理,有没有死锁,运行状态如何。

jps -vl

jps是JDK提供的一个小工具,上面的命令会把操作系统里面的java应用都展示出来,显示PID,启动类或者JAR,VM参数。可以通过jps -help进一步了解详细信息。当然也可以用操作系统的netsat查询PID。下文提到的PID均为jps中得到的PID。

jinfo -flags PID

显示JVM的参数,包括显示设置的和系统默认的。比如所用的垃圾回收器,堆的最大值等。也可以用jinfo -sysprops PID来显示System.getProperties()的内容。

jstat -gc PID

显示JVM的各个内存区使用情况(容量和使用量),GC的次数和耗时。可以通过命令jstat -class PID查看class的加载情况。

jmap -dump:file=data.hprof PID

把JVM的堆dump出来,用更高级的分析工具进行分析。命令jmap -heap PID可以查看堆的配置信息和使用情况,也很有用。

jstack PID

查看线程运行情况,检测是否有死锁。

jconsole

JDK提供的一个可视化资源查看,监控工具。

jvisualvm

JDK提供的另外一个一站式资源查看,监控,管理工具。支持插件机制,可以自己安装插件,定制jvisualvm。常用的是Visual GC插件。也可以通过该工具dump JVM的堆。也可以导入已经dump出来的堆信息进行分析。

JDK自带内存及线程分析工具相关推荐

  1. 虚拟机常用的内存查看与分析工具

    内存查看与分析工具,下面是日常监控可以使用的一些工具, 在调试时应用比较多的是堆栈信息,查看这篇文章: Java Thread Dump 性能分析 gc日志输出 在jvm启动参数中加入 1 2 3 4 ...

  2. 原来jdk自带了这么好玩的工具 > jstat使用教程

    什么是jstat Jstat是JDK自带的一个轻量级小工具.全称"Java Virtual Machine statistics monitoring tool",它位于java的 ...

  3. jvm 内存查看与分析工具

    转自http://jameswxx.iteye.com/blog/731763 业界有很多强大的java profile的工具,比如Jporfiler,yourkit,这些收费的东西我就不想说了,想说 ...

  4. Java自带的多线程监控分析工具(VisualVM)

    转自: http://www.udpwork.com/item/1105.html 在java多线程程序运行时,多数情况下我们不知道到底发生了什么,只有出了错误的日志的时候,我们才知道原来代码中有死锁 ...

  5. 内存映像分析工具Eclipse Memory Analyzer

    1. Eclipse Memory Analyzer安装 Help ->Eclipse Marketplace,搜索Memory,点击install,->confirm->同意证书内 ...

  6. jdk自带的Unicode转utf8工具

    在jdk的安装目录下,会有一个bin目录,其中的native2ascii.exe 用法 二.使用方法 命令行格式: 其中: -[options]表示命令开关,有两个选项可供选择: -reverse:用 ...

  7. Jvisualvm--JAVA性能分析工具

    JDK自带的JAVA性能分析工具.它已经在你的JDK bin目录里了,只要你使用的是JDK1.6 Update7之后的版本.点击一下jvisualvm.exe图标它就可以运行了. 这里是VisualV ...

  8. jdk自带常用命令行工具使用

    转自:http://blog.csdn.net/winwill2012/article/details/46364923 jps命令使用 jps命令类似于Linux下的ps命令,用于列出当前正在运行的 ...

  9. java内存溢出分析工具:jmap使用实战

    java内存溢出分析工具:jmap使用实战 在一次解决系统tomcat老是内存撑到头,然后崩溃的问题时,使用到了jmap.  1 使用命令  在环境是linux+jdk1.5以上,这个工具是自带的,路 ...

最新文章

  1. 剑指offer:面试题11. 旋转数组的最小数字
  2. 微信小程序如何进行登录授权和获取用户信息
  3. mssql 为什么连接是sleeping 而不释放_什么是数据仓库,以及我为什么需要它?
  4. JVM学习笔记:Java运行时数据区域
  5. PHP性能如何实现全面优化?
  6. denyhosts、中文文档乱码、端口占用查询
  7. python面试100讲
  8. Linux下passwd和shadow文件内容详解
  9. Axure元件-内联框架设计网页
  10. 英特尔移动处理器全面解析
  11. 开发一款游戏引擎所需要的知识与技术
  12. 苏轼:醉笑陪君三万场 不诉离殇
  13. Java学习集合源码分析
  14. sublimelinter_开发人员使用SublimeLinter指南
  15. 业界最全,阿里云混合云灾备服务上线!
  16. 危骆邦油邦快讯|山东地炼报价行情早知道
  17. 组态王7.5 WEB 发布教程
  18. 删除Windows11和WIN10桌面图标小箭头
  19. 280049的时钟树
  20. 什么是临时表,临时表什么时候删除

热门文章

  1. 解决log4j.properties不起作用的问题
  2. 嵌入式设备中支持国密算法的方法——移植Miracl库的步骤说明
  3. 用VB编写的一个可在屏幕上移动的十字架
  4. 如何入门AI?五大新手项目奉上
  5. 百度推出完全端到端的并行音频波形生成模型,比WaveNet快千倍 | 论文
  6. Java Servlet web xml 配置详解
  7. Windows环境下通过lynx查看隐藏链接识别黑链方法
  8. Certificate Transparency 那些事 | JerryQu 的小站
  9. 能源项目xml文件标签释义--DefaultAdvisorAutoProxyCreator
  10. UNIX 时间戳 C#