jmap 命令
1. jmap -heap pid
查看java 堆(heap)使用情况
        using thread-local object allocation.
        Parallel GC with 4 thread(s)          //GC 方式          Heap Configuration:       //堆内存初始化配置
         MinHeapFreeRatio=40     //相应jvm启动參数-XX:MinHeapFreeRatio设置JVM堆最小空暇比率(default 40)
         MaxHeapFreeRatio=70  //相应jvm启动參数 -XX:MaxHeapFreeRatio设置JVM堆最大空暇比率(default 70)
         MaxHeapSize=512.0MB  //相应jvm启动參数-XX:MaxHeapSize=设置JVM堆的最大大小
         NewSize  = 1.0MB          //相应jvm启动參数-XX:NewSize=设置JVM堆的‘新生代’的默认大小
         MaxNewSize =4095MB   //相应jvm启动參数-XX:MaxNewSize=设置JVM堆的‘新生代’的最大大小
         OldSize  = 4.0MB            //相应jvm启动參数-XX:OldSize=<value>:设置JVM堆的‘老生代’的大小
         NewRatio  = 8         //相应jvm启动參数-XX:NewRatio=:‘新生代’和‘老生代’的大小比率
         SurvivorRatio = 8    //相应jvm启动參数-XX:SurvivorRatio=设置年轻代中Eden区与Survivor区的大小比值
          PermSize= 16.0MB       //相应jvm启动參数-XX:PermSize=<value>:设置JVM堆的‘永生代’的初始大小
          MaxPermSize=64.0MB  //相应jvm启动參数-XX:MaxPermSize=<value>:设置JVM堆的‘永生代’的最大大小
          Heap Usage:               //堆内存分步
          PS Young Generation
          Eden Space:          //Eden区内存分布
            capacity = 20381696 (19.4375MB)  //Eden区总容量
            used     = 20370032 (19.426376342773438MB)  //Eden区已使用
            free     = 11664 (0.0111236572265625MB)  //Eden区剩余容量
            99.94277218147106% used  //Eden区使用比率
         From Space:        //当中一个Survivor区的内存分布
             capacity = 8519680 (8.125MB)
             used     = 32768 (0.03125MB)
             free     = 8486912 (8.09375MB)
             0.38461538461538464% used
        To Space:            //还有一个Survivor区的内存分布
            capacity = 9306112 (8.875MB)
            used     = 0 (0.0MB)
            free     = 9306112 (8.875MB)
            0.0% used
        PS Old Generation  //当前的Old区内存分布
            capacity = 366280704 (349.3125MB)
            used     = 322179848 (307.25464630126953MB)
            free     = 44100856 (42.05785369873047MB)
            87.95982001825573% used
        PS Perm Generation  //当前的 “永生代” 内存分布
            capacity = 32243712 (30.75MB)
            used     = 28918584 (27.57891082763672MB)
            free     = 3325128 (3.1710891723632812MB)
            89.68751488662348% used
2. jmap -histo pid
查看堆内存(histogram)中的对象数量。大小
num #instances #bytes class name
                序号         实例个数            字节数       类名    
        ----------------------------------------------
         1:       3174877      107858256  [C
         2:       3171499       76115976  java.lang.String
         3:       1397884       38122240  [B
         4:        214690       37785440  com.tongli.book.form.Book
         5:        107345       18892720  com.tongli.book.form.Book
         6:         65645       13953440  [Ljava.lang.Object;
         7:         59627        7648416  <constMethodKlass>
         8:        291852        7004448  java.util.HashMap$Entry
         9:        107349        6871176  [[B
..........
total 9150732 353969416
3. jmap - dump pid
将内存使用的具体情况输出到文件
jmap -dump:format=b,file=m.datpid
           用jhat命令能够參看 jhat -port 5000 m.dat 
        在浏览器中訪问:http://localhost:5000/  查看具体信息
sun 官方文档 http://download.oracle.com/javase/1.5.0/docs/tooldocs/share/jmap.html
class name相应的就是Class文件中的class的标识
B代表byte
C代表char
D代表double
F代表float
I代表int
J代表long
Z代表boolean
前边有[代表数组。[I 就相当于int[]
对象用[L+类名表示
jmap 命令的更多相关文章
- jmap命令(Java Memory Map)(转)
		
JDK内置工具使用 一.javah命令(C Header and Stub File Generator) 二.jps命令(Java Virtual Machine Process Status To ...
 - Linux下jmap命令查看内存使用
		
Linux下jmap命令查看内存使用 jmap -heap 1234(1234为进程号) jmap是JDK自带的一个工具,非常小巧方便,其支持参数如下: -heap 打印heap空间的概要 ...
 - java命令--jmap命令使用(查找内存泄漏对象)
		
转自:https://www.cnblogs.com/kongzhongqijing/articles/3621163.html jdk安装后会自带一些小工具,jmap命令(Java Memory M ...
 - 说说jmap命令
		
jmap命令 ps -ef| grep java root 1426 1359 0 10:30 pts/0 00:00:00 grep java root 7807 1 0 Apr28 ? 00:22 ...
 - 【JVM】jmap命令详解----查看JVM内存使用详情
		
linux获取java进程PID: https://www.cnblogs.com/sxdcgaq8080/p/10734752.html 如果命令使用过程中报错,可能解决你问题的方案: https: ...
 - jvm 性能调优工具之 jmap 命令详解
		
jmap名称:Java Memory Map(内存映射) 官方文档:https://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jmap.html ...
 - Windows下jmap命令报错问题
		
最近换了笔记本,新的工作环境下jmap命令居然在报错,而jps.jstat.jinfo.jstack都能正常使用,所以初步排除进程号的问题. Attaching to core 17536 fr ...
 - Java的jmap命令使用详解
		
jmap命令简介 jmap(Java Virtual Machine Memory Map)是JDK提供的一个可以生成Java虚拟机的堆转储快照dump文件的命令行工具.除此以外,jmap命令还可以查 ...
 - jmap命令详解(转)
		
1.命令基本概述 Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本.打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其 ...
 - jmap命令详解
		
1.命令基本概述 Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本.打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其 ...
 
随机推荐
- jquery 实现table的行列选中效果改进
			
行列都可以多选,也可对相应数据进行统计: 行选中效果 列选中效果
 - [Web 前端]   CSS 盒子模型,绝对定位和相对定位
			
cp : https://blog.csdn.net/web_yh/article/details/53239372 一.盒子模型: 标准模式和混杂模式(IE).在标准模式下浏览器按照规范呈现页面:在 ...
 - 企业级搜索引擎Solr 第三章 索引数据(Indexing Data)[1]  (转)
			
Index Data Author: David Smiley Eric Pugh 译者:Koala++ / 屈伟 在这一章中我们将了解如何将数据传入Solr.这个传入的过程称之为索引,尽管中间还包含 ...
 - C# 简单日志文本输出
			
第一种 直接文件IO流写日志文件 using System.IO; public static void WriteLog(string strLog) { string sFilePath=&qu ...
 - 前端性能优化:配置ETag
			
什么是ETag? 实体标签(EntityTag)是唯一标识了一个组件的一个特定版本的字符串,是web服务器用于确认缓存组件的有效性的一种机制,通常可以使用组件的某些属性来构造它. 条件GET请求 浏览 ...
 - laravel  开启sql调试
			
打开app\Providers\AppServiceProvider.PHP,在boot方法中添加如下内容 public function boot() { //sql调试 $sql_debug = ...
 - 一文学会用 Tensorflow 搭建神经网络
			
http://www.jianshu.com/p/e112012a4b2d 本文是学习这个视频课程系列的笔记,课程链接是 youtube 上的,讲的很好,浅显易懂,入门首选, 而且在github有代码 ...
 - 【转】js面试题,明确自己的不足
			
https://blog.csdn.net/m0_37631322/article/details/85409716 -------------------- 2018年12月30日 21:05:43 ...
 - CMake can't find GLEW
			
Q: I'm on Windows and there is a FindGLEW.cmake file in my CMake modules folder, presumably put th ...
 - spring 读取配置文件,将值注入到静态字段
			
resources/config/config-dev.properties es.ip.node=xxxxxxxcluster.name=xxxxxxxclient.transport.sniff= ...