jdk(1.8)命令行工具(二)
2.3 jinfo:java配置信息工具
jinfo(Configuration Info for Java)的作用是实时的查看和调整虚拟机的各项参数。使用jps -v 可以查看虚拟机启动时显示指定的参数列表,但如果想知道未被显示指定的参数的系统默认值,就只能使用jinfo -flag选项进行查看(jdk1.6以上也可以使用 java -XX:+PrintFlagsFinal进行查看)
命令格式:
jinfo [option] pid
| 选项 | 作用 |
| -flags | 查看jvm参数 |
| -flag | 查看或修改(部分)某个jvm参数 |
| -sysprops | 查看系统参数 |
| -h | 查看jinfo命令帮助 |
2.4 jmap(Java内存映像工具)
jmap(Memery Map for JAVA)主要用于生成堆转储快照(一般称为heapdump或dump文件),还可以用来查询finalize 执行队列、java堆和永久代的详细信息,如空间使用率、当前使用的是那种收集器等
命令格式:
jmap [option] vmid
| 选项 | 作用 |
| -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
Attaching to process ID 22963, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.11-b03
finding class loader instances ..done.
computing per loader stat ..done.
please wait.. computing liveness.liveness analysis may be inaccurate ...
class_loader classes bytes parent_loader alive? type <bootstrap> 844 1449946 null live <internal>
0x00000006c8512770 712 1301624 0x00000006c85127c8 dead sun/misc/Launcher$AppClassLoader@0x00000007c0038320
0x00000006c931c380 1 1471 0x00000006c8512770 dead sun/reflect/DelegatingClassLoader@0x00000007c0009870
0x00000006c85127c8 0 0 null dead sun/misc/Launcher$ExtClassLoader@0x00000007c002d320 total = 4 1557 2753041 N/A alive=1, dead=3 N/A
-heap:
jmap -heap 22963
Attaching to process ID 22963, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.11-b03 using thread-local object allocation.
Parallel GC with 4 thread(s) Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 4156555264 (3964.0MB)
NewSize = 1572864 (1.5MB)
MaxNewSize = 1385168896 (1321.0MB)
OldSize = 258473984 (246.5MB)
NewRatio = 2 -------------------------------(年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代))
SurvivorRatio = 8 -------------------------------(Eden区与Survivor区的大小比值)
MetaspaceSize = 21807104 (20.796875MB)
CompressedClassSpaceSize = 1073741824 (1024.0MB)
MaxMetaspaceSize = 17592186044415 MB
G1HeapRegionSize = 0 (0.0MB) Heap Usage:
PS Young Generation
Eden Space: ------------------------------------------(伊甸区)
capacity = 5242880 (5.0MB)-------------------------(容量)
used = 0 (0.0MB)----------------------------------(已使用)
free = 5242880 (5.0MB) --------------------------(空闲)
0.0% used---------------------------------------------(使用率)
From Space:
capacity = 18874368 (18.0MB)
used = 0 (0.0MB)
free = 18874368 (18.0MB)
0.0% used
To Space:
capacity = 19398656 (18.5MB)
used = 0 (0.0MB)
free = 19398656 (18.5MB)
0.0% used
PS Old Generation
capacity = 383778816 (366.0MB)
used = 372174176 (354.9329528808594MB)
free = 11604640 (11.067047119140625MB)
96.97621663411458% used 1823 interned Strings occupying 151824 bytes.
-histo:
jmap -histo 22963 | head -n 30
num #instances #bytes class name
----------------------------------------------
1: 4252 245748768 [B
2: 28460 68723560 [Ljava.lang.Object;
3: 7529 30808288 [Ljava.nio.channels.SelectionKey;
4: 18018 11819808 io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueue
5: 7493 4315968 io.netty.util.internal.shaded.org.jctools.queues.MpscChunkedArrayQueue
6: 1896 1271040 [Lio.netty.util.Recycler$DefaultHandle;
7: 4106 1074784 [I
8: 213 847568 [Ljava.nio.ByteBuffer;
9: 15050 722400 java.util.HashMap
10: 10363 719672 [C
11: 3746 539424 io.netty.channel.nio.NioEventLoop
12: 16632 532224 io.netty.buffer.PoolThreadCache$SubPageMemoryRegionCache
13: 3875 443784 [J
14: 3746 269712 sun.nio.ch.EPollArrayWrapper
15: 3746 269712 sun.nio.ch.EPollSelectorImpl
16: 4230 236880 java.util.LinkedHashMap
17: 9840 236160 java.lang.String
18: 477 183168 io.netty.util.concurrent.FastThreadLocalThread
19: 1937 156488 [Ljava.util.HashMap$Node;
20: 1499 156072 java.lang.Class
21: 9685 154960 java.lang.Object
22: 3788 151520 java.util.LinkedHashMap$Entry
23: 4215 134880 io.netty.util.concurrent.DefaultPromise
24: 3154 126160 java.util.WeakHashMap$Entry
25: 3749 119968 sun.nio.ch.AllocatedNativeObject
26: 7497 119952 java.util.concurrent.atomic.AtomicBoolean
27: 7496 119936 java.util.HashSet
jdk(1.8)命令行工具(二)的更多相关文章
- jdk 自带命令行工具
jps工具 虚拟机进程状况工具 工具主要选项 jstat: 虚拟机统计信息监视工具 jinfo: Java配置信息工具 jinfo( Configuration Info for Java) 的作用是 ...
- JDK的命令行工具系列 (二) javap、jinfo、jmap
javap: 反编译工具, 可用来查看java编译器生成的字节码 参数摘要: -help 帮助 -l 输出行和变量的表 -public 只输出public方法和域 -protected 只输出publ ...
- JDK的命令行工具
Jcmd:综合工具 jcmd -l 列出当前运行的所有虚拟机 参数-l表示列出所有java虚拟机,针对每一个虚拟机,可以使用help命令列出该虚拟机支持的所有命令 jcmd [pid] help j ...
- JDK的命令行工具系列 (三) jhat、jstack
jhat: heapdump文件分析工具 在前两篇系列文章JDK的命令行工具系列 (一) jps.jstat.JDK的命令行工具系列 (二) javap.jinfo.jmap中, 我们已经介绍过了jp ...
- JVM-JDK命令行工具
JDK命令行工具 当我们进入JDK的安装目录里面的/bin目录,会发现有很多小工具,有我们熟悉的也经常用的java,javac,也有很多我们不怎么用到很陌生的工具.下面看看哪些平时不怎么用到的工具吧. ...
- 虚拟机性能监控与故障处理工具------JDK的命令行工具
①jps:虚拟机进程状况工具 功能:列出正在运行的虚拟机进程,并显示1.虚拟机执行主类名称以及2.这些进程的本地虚拟机唯一ID(LVMID). 使用频率最高的JDK命令行工具,其他的JDK工具大多需要 ...
- jdk命令行工具(一)
1.概述 熟悉java开发的人应该都知道在jdk的bin目录下有许多的工具,这些工具主要用于监视虚拟机和故障处理.这些故障处理工具被Sun公司称作为“礼物”附赠给JDK的使用者,并在软件的使用说明中把 ...
- JVM性能监控工具(一)-jdk命令行工具
转载:http://blog.csdn.net/top_code/article/details/51456186 当系统出bug需要定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处 ...
- JDK的命令行工具系列 (一) jps、jstat
概述 在我们进行故障定位和性能分析时, 可以使用Java Dump(也叫Dump文件)来帮助排查问题, 它记录了JVM运行期间的内存占用和线程执行等情况.其中Heap Dump文件是二进制格式, 它保 ...
- JVM调优前戏之JDK命令行工具---jhat
在JDK的命令行中,一般开发人员最耳熟能详的肯定就是java,javac,javap等常用命令,不过在jdk/bin下还有许多其他的命令行工具,它们被用来监测JVM运行时的状态,下面我们来详细解读一下 ...
随机推荐
- springmvc web.xml配置之 -- DispatcherServlet
springMVC servlet配置与启动 看一下springmvc的web.xml常见配置: <servlet> <!-- 配置DispatcherServlet --> ...
- Eigen库和STL容器冲突问题
博客参考:https://blog.csdn.net/huajun998/article/details/54311561 在程序中想使用类似于如下的容器 std::vector<Eigne:: ...
- Financial Information Exchange (FIX) Protocol Interview Questions Answers[z]
What do you mean by Warrant?Warrant is a financial product which gives right to holder to Buy or Sel ...
- sublime相关资源
Sublime Text 全程指南 http://zh.lucida.me/blog/sublime-text-complete-guide/ Sublime官网Package安装 https://p ...
- mongoTemplate更新一个Document里面的数组的一个记录。
假如有一个Document如下: { "_id" : "69bca85a-5a61-4b04-81fb-ff6a71c3802a", "_class& ...
- 深入浅出CSS:Div(一)
这个系列是学习笔记,简明记录结论性的知识. 新建一个层时,border为零,margin为0,padding为0,如果不指定宽度(width),则自动100%填充父元素. 三.层与父元素的关系 1. ...
- 移动端html5页面导航栏悬浮遮挡内容第一行解决办法
参考:https://zhidao.baidu.com/question/1608232105428062147.html 1.设置导航栏div属性position:fixed; .nav-fixed ...
- Java反射API研究(2)——java.lang.reflect详细内容与关系
对于最新的java1.8而言,reflect中接口的结构是这样的: java.lang.reflect.AnnotatedElement java.lang.reflect.AnnotatedType ...
- linux 用户/用户组添加修改删除(ubuntu/centos)
一.LINUX(UBUNTU/CENTOS)用户添加删除修改 1.建用户: adduser web //新建web用户 useradd web ...
- 简单配置vps,防ddos攻击
防人之心不可无. 网上总有些无聊或者有意的人.不多说了.上干货,配置vps apf防小流量ddos攻击. 对于大流量的ddos攻击, 需要机房的硬件防火墙,vps内部可能也扛不住. 1. 安装 DDo ...