Jdk自带性能查看工具

一、jps命令:查看java进程

无参数,列出所有进程

-q 只列出pid

-m 列出传递给main方法的参数

-l 输出程序main class完整package名, 或jar文件完整路径名

-v 传递给JVM的参数

二、jstack命令

作用:打印出给定的java进程ID或core file 或远程调试服务的Java堆栈信息。

1)如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。

2)jstack可以dump下某个java程序,并且查看运行状态和堆栈信息。

-F当’jstack [-l] pid’没有响应的时候强制打印栈信息

-l长列表. 打印关于锁的附加信息,例如属于

java.util.concurrent的ownable synchronizers列表.

-m打印java和native 框架的所有栈信息.

-h | -help打印帮助信息

jstack -F -l pid输出死锁相关信息如下:

死锁状态:No deadlocks found.

线程号:27150

线程状态:BLOCKED,阻塞状态,表示线程由于某些原因被阻塞。

线程的调用栈信息。

线程的当前调用栈。

三、jstat命令

详细查看堆内各个部分的使用量,以及加载类的数量,也即对java应用程序的资源和性能进行实时监控,包括历练机会瘦状况和Heap的大小监控等。

jstat -gc pid

查看gc次数

jstat -gccapacity pid

各代所占空间

jstat -gcutil pid

各代空间使用情况

JVM内存结构图

-gcnew -gcnewcapacity 年轻代gc情况,年轻代容量

-gcold -gcoldcapacity -gcpermcapacity -class 显示加载class的数量,及所占空间等信息

-compiler 显示JVM实时编译的数量等信息

-printcompilation 当前JVM执行的信息

四、jmap命令

打印出某个java进程(使用pid)内存内的 所有‘对象’的情况(如:产生那些对象,及 其数量)。可以从core文件或进程中取得内存的具体配置情况,包括Heap Size、Perm Size等。

jmap [ option ] pid

jmap [ option ] executable core

jmap [ option ] [[email protected]]remote-hostname-or-IP

五、jinfo命令

jinfo可以输出并修改运行时的java 进程的opts。

用处比较简单,用于输出JAVA系统参数及命令行参数。

九、jdb命令

用来对core文件和正在运行的Java进程进行实时地调试.

时间: 2024-10-29 14:44:23

Jdk自带性能查看工具的相关文章

JDK自带VM分析工具jps,jstat,jmap,jconsole

一.概述 SUN 的JDK中的几个工具,非常好用.秉承着有免费,不用商用的原则.以下简单介绍一下这几种工具.(注:本文章下的所有工具都存在JDK5.0以上版本的工具集里,同javac一样,不须特意安装)  . jps 与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号. jstat 一个极强的监视VM内存工具.可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量. jmap 打印出某个java进程(使用pid)内存内的,所有'对象'的情

jdk自带的日志工具实操总结(亲测有效)

现在项目中,大多用log4j等第三方日志框架,用这些框架确实有原因,而且确实配置简单,好用.因为一个传统项目不想用第三方日志框架,想用jdk自带的日志来记录日志,所以总结了下经验,希望对大家有所帮助.本文讲解的是不用自写工具类,简单几个步骤就完成日志的记录. 步骤:1.创建  Logger logger:在网上查阅了相关资料,这个步骤对下面的步骤很重要. 2.创建  FileHandler fileHandler 定义日志文件保存的路径和日志文件生成的规则,很简单的. 3.FileHandler

修改jmx远程监控wildfly/jboss配置,然后通过jdk自带的visualvm工具来进行性能监控

近新搭建了系统环境,进行压力测试的时候没有一个好的图形化监控方法来比较直观.方便.动态.实时的来监控应用服务器内存.GC.CPU.进程和磁盘等信息,功能非常强大,图像也很友好.但是wildfy配置jmx的文章资料很少,我通过参考官网和一些贴吧实践琢磨出了配置jmx的流程: 1]确认监控端口(一般都是8080端口) standalone:查看standalone.xml中jboss.http.port为8080 domain:查看standalone.xml中jboss.http.port为808

JDK自带反编译工具javap

在JDK的bin文件夹下,有许多自带工具: javap就是其中的一个,对应为 javap.exe javap可反编译查看Java编译器编译生成的字节码文件, 语法: javap [ options ] class options: -help 帮助 -l 输出行和变量的表 -public 只输出public方法和域 -protected 只输出public和protected类和成员 -package 只输出包,public和protected类和成员,这是默认的 -p -private 输出所

[转载]JDK自带的实用工具——native2ascii.exe

做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,原因是编码方式的不一致.native2ascii是sun java sdk提供的一个工具.用来将别的文本类文件(比如*.txt,*.ini,*.properties,*.java等等)编码转为Unicode编码. 一.获取native2ascii 安装了jdk后,假如你是在windows上安装,那么在jdk的安装目录下,会有一个bin目录,其中native2ascii.exe正是. 二.使用方法命令行格式:  native2

死锁排查的小窍门 --使用jdk自带管理工具jstack

本文版权归 远方的风lyh和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 开发时间久了,难免会写出一些一些死锁的代码,自己明明调用该方法可该方法就是不执行.不进该方法.日志也不打印! 这里我们模拟一段死锁的代码,使用jdk自带的管理工具来排查是不是死锁了! 1 //思索代码 2 public class DeadLockDemo implements Runnable{ 3 4 public int flag = 1; 5 //静态对象是类的所有对象共享的 6 privat

Oracle性能优化之性能诊断工具_超越OCP精通Oracle视频教程培训33

Oracle性能优化之性能诊断工具_超越OCP精通Oracle视频教程培训33 课程介绍 Oracle视频教程,风哥本套oracle教程培训<<Oracle数据库性能优化培训教程>>的第3/10套:Oracle性能优化之性能诊断工具.主要学习Oracle性能优化,Oracle自带性能诊断工具介绍,日常维护中的性能工具操作过程,awr性能数据的收集时间,awr自动收集性能报告如何实现,awr手工快照如何实现,awr baseline的手工调整与管理,awr性能相关的视图介绍,awr性

使用jdk的jps、jstack工具检测代码问题,提高程序性能

?? 今天给大家分享怎样利用jdk的jps和jstack工具结合定位代码的问题,提高程序的稳定性.健壮性和性能. 在jdk的bin,目录下面有很多的工具如图: jps.jstack工具介绍: jps: 是JDK1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况. 命令格式:jps [options ] [ hostid ] [options]选项 : -q:仅输出VM标识符,不包括classname,jar

JDK自带工具之jstat

Jstat是JDK自带的一个轻量级小工具.全称"Java Virtual Machine statistics monitoring tool". Jstat位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控. Jstat可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量. 1.Jstat命令格式 jstat [optionsvmid [interval[s|ms]  [coun