2.3 jinfo:java配置信息工具

  jinfo(Configuration Info for Java)的作用是实时的查看和调整虚拟机的各项参数。使用jps -v 可以查看虚拟机启动时显示指定的参数列表,但如果想知道未被显示指定的参数的系统默认值,就只能使用jinfo -flag选项进行查看(jdk1.6以上也可以使用 java -XX:+PrintFlagsFinal进行查看)

  命令格式:

    jinfo [option] pid

            

jinfo工具主要选项
选项  作用
-flags  查看jvm参数
 -flag  查看或修改(部分)某个jvm参数
-sysprops  查看系统参数
 -h  查看jinfo命令帮助

2.4 jmap(Java内存映像工具)

  jmap(Memery Map for JAVA)主要用于生成堆转储快照(一般称为heapdump或dump文件),还可以用来查询finalize 执行队列、java堆和永久代的详细信息,如空间使用率、当前使用的是那种收集器等

  命令格式:

    jmap [option] vmid

        

jmap工具主要选项
    选项  作用
 -dump  生成java堆转储快照。格式为:-dump [live,] format=b,file=<filename>,其实live子参数说明是否只dump出存活的对象
-clstats  显示类加载器统计信息
-heap  显示java堆详细信息,如使用哪种回收器、参数配置、分代状况等。只在Linux/Solari平台下有效
-histo  显示堆中对象统计信息,包括类、实例数量、合计容量
-F  当虚拟机进程对-dump没有响应时,可使用这个选项强制生成dump快照。只在Linux/Solari平台下有效

    

各工具选项输出内容详解

-dump:  

  jmap -dump:live,format=b,file=./temp.hprof  22963  (生成dump文件,dump文件的分析后续更新)

-clstats:

  jamp -clstats 22963

  

  1. Attaching to process ID 22963, please wait...
  2. Debugger attached successfully.
  3. Server compiler detected.
  4. JVM version is 25.11-b03
  5. finding class loader instances ..done.
  6. computing per loader stat ..done.
  7. please wait.. computing liveness.liveness analysis may be inaccurate ...
  8. class_loader classes bytes parent_loader alive? type
  9.  
  10. <bootstrap> 844 1449946 null live <internal>
  11. 0x00000006c8512770 712 1301624 0x00000006c85127c8 dead sun/misc/Launcher$AppClassLoader@0x00000007c0038320
  12. 0x00000006c931c380 1 1471 0x00000006c8512770 dead sun/reflect/DelegatingClassLoader@0x00000007c0009870
  13. 0x00000006c85127c8 0 0 null dead sun/misc/Launcher$ExtClassLoader@0x00000007c002d320
  14.  
  15. total = 4 1557 2753041 N/A alive=1, dead=3 N/A

  

-heap:

  jmap -heap 22963

  1. Attaching to process ID 22963, please wait...
  2. Debugger attached successfully.
  3. Server compiler detected.
  4. JVM version is 25.11-b03
  5.  
  6. using thread-local object allocation.
  7. Parallel GC with 4 thread(s)
  8.  
  9. Heap Configuration:
  10. MinHeapFreeRatio = 40
  11. MaxHeapFreeRatio = 70
  12. MaxHeapSize = 4156555264 (3964.0MB)
  13. NewSize = 1572864 (1.5MB)
  14. MaxNewSize = 1385168896 (1321.0MB)
  15. OldSize = 258473984 (246.5MB)
  16. NewRatio = 2 -------------------------------(年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代))
  17. SurvivorRatio = 8 -------------------------------(Eden区与Survivor区的大小比值)
  18. MetaspaceSize = 21807104 (20.796875MB)
  19. CompressedClassSpaceSize = 1073741824 (1024.0MB)
  20. MaxMetaspaceSize = 17592186044415 MB
  21. G1HeapRegionSize = 0 (0.0MB)
  22.  
  23. Heap Usage:
  24. PS Young Generation
  25. Eden Space: ------------------------------------------(伊甸区)
  26. capacity = 5242880 (5.0MB)-------------------------(容量)
  27. used = 0 (0.0MB)----------------------------------(已使用)
  28. free = 5242880 (5.0MB) --------------------------(空闲)
  29. 0.0% used---------------------------------------------(使用率)
  30. From Space:
  31. capacity = 18874368 (18.0MB)
  32. used = 0 (0.0MB)
  33. free = 18874368 (18.0MB)
  34. 0.0% used
  35. To Space:
  36. capacity = 19398656 (18.5MB)
  37. used = 0 (0.0MB)
  38. free = 19398656 (18.5MB)
  39. 0.0% used
  40. PS Old Generation
  41. capacity = 383778816 (366.0MB)
  42. used = 372174176 (354.9329528808594MB)
  43. free = 11604640 (11.067047119140625MB)
  44. 96.97621663411458% used
  45.  
  46. 1823 interned Strings occupying 151824 bytes.

  

-histo:

  jmap -histo 22963 | head -n 30

  1. num #instances #bytes class name
  2. ----------------------------------------------
  3. 1: 4252 245748768 [B
  4. 2: 28460 68723560 [Ljava.lang.Object;
  5. 3: 7529 30808288 [Ljava.nio.channels.SelectionKey;
  6. 4: 18018 11819808 io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueue
  7. 5: 7493 4315968 io.netty.util.internal.shaded.org.jctools.queues.MpscChunkedArrayQueue
  8. 6: 1896 1271040 [Lio.netty.util.Recycler$DefaultHandle;
  9. 7: 4106 1074784 [I
  10. 8: 213 847568 [Ljava.nio.ByteBuffer;
  11. 9: 15050 722400 java.util.HashMap
  12. 10: 10363 719672 [C
  13. 11: 3746 539424 io.netty.channel.nio.NioEventLoop
  14. 12: 16632 532224 io.netty.buffer.PoolThreadCache$SubPageMemoryRegionCache
  15. 13: 3875 443784 [J
  16. 14: 3746 269712 sun.nio.ch.EPollArrayWrapper
  17. 15: 3746 269712 sun.nio.ch.EPollSelectorImpl
  18. 16: 4230 236880 java.util.LinkedHashMap
  19. 17: 9840 236160 java.lang.String
  20. 18: 477 183168 io.netty.util.concurrent.FastThreadLocalThread
  21. 19: 1937 156488 [Ljava.util.HashMap$Node;
  22. 20: 1499 156072 java.lang.Class
  23. 21: 9685 154960 java.lang.Object
  24. 22: 3788 151520 java.util.LinkedHashMap$Entry
  25. 23: 4215 134880 io.netty.util.concurrent.DefaultPromise
  26. 24: 3154 126160 java.util.WeakHashMap$Entry
  27. 25: 3749 119968 sun.nio.ch.AllocatedNativeObject
  28. 26: 7497 119952 java.util.concurrent.atomic.AtomicBoolean
  29. 27: 7496 119936 java.util.HashSet

  

 

jdk(1.8)命令行工具(二)的更多相关文章

  1. jdk 自带命令行工具

    jps工具 虚拟机进程状况工具 工具主要选项 jstat: 虚拟机统计信息监视工具 jinfo: Java配置信息工具 jinfo( Configuration Info for Java) 的作用是 ...

  2. JDK的命令行工具系列 (二) javap、jinfo、jmap

    javap: 反编译工具, 可用来查看java编译器生成的字节码 参数摘要: -help 帮助 -l 输出行和变量的表 -public 只输出public方法和域 -protected 只输出publ ...

  3. JDK的命令行工具

    Jcmd:综合工具 jcmd -l  列出当前运行的所有虚拟机 参数-l表示列出所有java虚拟机,针对每一个虚拟机,可以使用help命令列出该虚拟机支持的所有命令 jcmd [pid] help j ...

  4. JDK的命令行工具系列 (三) jhat、jstack

    jhat: heapdump文件分析工具 在前两篇系列文章JDK的命令行工具系列 (一) jps.jstat.JDK的命令行工具系列 (二) javap.jinfo.jmap中, 我们已经介绍过了jp ...

  5. JVM-JDK命令行工具

    JDK命令行工具 当我们进入JDK的安装目录里面的/bin目录,会发现有很多小工具,有我们熟悉的也经常用的java,javac,也有很多我们不怎么用到很陌生的工具.下面看看哪些平时不怎么用到的工具吧. ...

  6. 虚拟机性能监控与故障处理工具------JDK的命令行工具

    ①jps:虚拟机进程状况工具 功能:列出正在运行的虚拟机进程,并显示1.虚拟机执行主类名称以及2.这些进程的本地虚拟机唯一ID(LVMID). 使用频率最高的JDK命令行工具,其他的JDK工具大多需要 ...

  7. jdk命令行工具(一)

    1.概述 熟悉java开发的人应该都知道在jdk的bin目录下有许多的工具,这些工具主要用于监视虚拟机和故障处理.这些故障处理工具被Sun公司称作为“礼物”附赠给JDK的使用者,并在软件的使用说明中把 ...

  8. JVM性能监控工具(一)-jdk命令行工具

    转载:http://blog.csdn.net/top_code/article/details/51456186 当系统出bug需要定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处 ...

  9. JDK的命令行工具系列 (一) jps、jstat

    概述 在我们进行故障定位和性能分析时, 可以使用Java Dump(也叫Dump文件)来帮助排查问题, 它记录了JVM运行期间的内存占用和线程执行等情况.其中Heap Dump文件是二进制格式, 它保 ...

  10. JVM调优前戏之JDK命令行工具---jhat

    在JDK的命令行中,一般开发人员最耳熟能详的肯定就是java,javac,javap等常用命令,不过在jdk/bin下还有许多其他的命令行工具,它们被用来监测JVM运行时的状态,下面我们来详细解读一下 ...

随机推荐

  1. Python_07-常用函数

    1     python常用常用函数 1.1      常用内置函数 1.2      类型转换函数 1.3      和操作系统相关的调用 1.3.1       操作举例 1.4      用os ...

  2. Cocoa Touch(三):图形界面UIKit、Core Animation、Core Graphics

    UIKit 视图树模型 1.视图树模型 计算机图形实际上是一个视图树模型,每个视图都有一个本地坐标系.每个本地坐标系的组成部分是:原点在父坐标系中的位置,每个基在父坐标系中的位置,由此就可以根据向量的 ...

  3. Spring IoC入门

    ------------------siwuxie095                                 Spring IoC 环境搭建         1.先下载相关库文件,下载链接 ...

  4. ASP.NET 网页动态添加客户端脚本

    在System.Web.UI.Page类中包含了RegisterStarupScript()和RegisterClientScriptBlock()两个方法,使用这两个方法可以实现向Web页面动态添加 ...

  5. Ubuntu 安装配置 nginx

    作者:任明旭链接:https://www.zhihu.com/question/46241604/answer/100788789来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  6. linux查看端口号监听状态

    lsof -i:<port> netstat -tunlp | grep <port>

  7. 初识STM32

    1.什么是STM32 A.ST是意法半导体,一个公司名,即SOC厂商,生产芯片的厂商.ARM公司是IP厂商,即只生产内核的厂商. B.M-Microelectronics的缩写,表示微控制器,大家注意 ...

  8. 给力分享新的ORM => Dapper( 转)

    出处:http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2178897.html 最近一直很痛苦,想选一个好点的ORM来做项目,实在没遇到好的. ...

  9. python3 二叉树的存储和三种遍历

    #coding:utf-8 class node(): def __init__(self,k=None,l=None,r=None): self.key=k; self.left=l; self.r ...

  10. (转)【javascript基础】原型与原型链

    原文地址:http://www.cnblogs.com/allenxing/p/3527654.html 前言 原型是什么 理解原型对象 原型对象 isPrototypeOf hasOwnProper ...