jmap -histo pid 输出的[C [B [I [S methodKlass的含义

简介:

jmap -histo pid 输出结果样式

 num     #instances         #bytes  class name
----------------------------------------------
   1:       1169837      131659368  [C
   2:         25945       38337824  [I
   3:         31548       29407968  [B
   4:       1164546       27949104  java.lang.String
   6:         91313       12829072  <constMethodKlass>
   7:         12395       12404880  [S
   8:         91313       11700288  <methodKlass>
   9:          7525        9303112  <constantPoolKlass>
  10:          7525        5606808  <instanceKlassKlass>
  11:          6043        5028288  <constantPoolCacheKlass>
  12:         10048        2007888  [Ljava.lang.Object;
  14:          3507        1707048  <methodDataKlass>
  15:          8132         980616  java.lang.Class
  16:         26854         859328  java.util.HashMap$Entry
  17:         12368         699296  [[I
  18:         14135         452320  java.util.concurrent.ConcurrentHashMap$HashEntry
  19:         20883         334128  java.lang.Object
  20:           590         316240  <objArrayKlassKlass>
  21:          1757         305904  [Ljava.util.HashMap$Entry;
  22:          2809         224720  net.sf.ehcache.Element
  23:          1992         223104  java.net.SocksSocketImpl
  24:          2668         213440  java.lang.reflect.Method
  26:          5932         183928  [Ljava.lang.String;
  27:          7588         182112  java.util.concurrent.ConcurrentSkipListMap$Node
  28:          7317         175608  java.lang.Long
  29:          5303         169696  java.util.Hashtable$Entry
  30:          6778         162672  java.util.ArrayList
  31:          3931         157240  java.lang.ref.SoftReference
  32:          2972         118880  java.util.LinkedHashMap$Entry
  33:          1565         112680  org.apache.commons.pool2.impl.DefaultPooledObject
  34:          2817         112680  net.sf.ehcache.store.chm.SelectableConcurrentHashMap$HashEntry
  35:          2243         107664  java.util.HashMap
  36:          2592         103680  java.util.TreeMap$Entry
  37:          3214         102848  java.lang.ref.WeakReference
  38:          1565         100160  redis.clients.jedis.Client
  39:          4155          99720  java.util.LinkedList$Node
  40:          1986          95328  java.net.SocketInputStream
  41:           414          92952  [Ljava.util.concurrent.ConcurrentHashMap$HashEntry;
  42:          2275          91000  java.lang.ref.Finalizer
  43:          1161          83592  java.lang.reflect.Constructor
  44:           757          78728  java.io.ObjectStreamClass
  45:          1587          76176  java.net.SocketOutputStream
  46:          1189          66584  java.beans.MethodDescriptor
  47:          2770          66480  org.apache.commons.pool2.impl.LinkedBlockingDeque$Node
  48:           388          66368  [Ljava.util.Hashtable$Entry;
  49:          1989          63648  java.net.Socket
  50:           749          53928  java.lang.reflect.Field
  ...
  ...
2947:             1             16  sun.misc.Launcher
2948:             1             16  org.codehaus.jackson.map.ser.std.DateSerializer
2949:             1             16  org.apache.phoenix.schema.types.PDataType$2
2950:             1             16  org.springframework.data.redis.connection.convert.StringToRedisClientInfoConverter
Total       3090439      316004152

输出结果说明

[C is a char[]
[S is a short[]
[I is a int[]
[B is a byte[]
[[I is a int[][]


上面的输出中[C对象占用Heap这么多,往往跟String有关,String其内部使用final char[]数组来保存数据的


constMethodKlass/ methodKlass/ constantPoolKlass/ constantPoolCacheKlass/ instanceKlassKlass/ methodDataKlass

与Classloader相关,常驻与Perm区。

其中最后一行(total行)

分别记录了实例总数、程序占用总内存数,本例显示的程序总占用内存约300M

目录
相关文章
|
3月前
|
存储 算法
pid控制
这篇文章详细介绍了PID控制算法的理论基础、组成部分、不同形式的算法(位置式和增量式PID),以及参数调试的步骤和技巧,旨在帮助读者理解和应用PID控制器进行有效的系统控制。
58 2
pid控制
|
2月前
|
Perl
crash+awk:统计vma的大小
crash+awk:统计vma的大小
|
资源调度 调度
进程识别号(PID)的理解
PID(Process Identification)操作系统里指进程识别号,也就是进程标识符。操作系统里每打开一个程序都会创建一个进程ID,即PID。 PID(进程控制符)英文全称为Process Identifier,它也属于电工电子类技术术语。 PID是各进程的代号,每个进程有唯一的PID编号。它是进程运行时系统随机分配的,并不代表专门的进程。在运行时PID是不会改变标识符的,但是你终止程序后再运行PID标识符就会被系统回收,就可能会被继续分配给新运行的程序。
414 0
|
Go
proc far and near. 的简单解释
proc far and near. 的简单解释
117 0
|
Linux 调度
top命令输出的解释
top命令输出的解释
150 0
|
监控 Java Linux
JVM致命错误日志(hs_err_pid.log)分析
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xmt1139057136/article/details/82880179 致命错误出现的时候,JVM 生成了 hs_err_pid.log 这样的文件,其中往往包含了虚拟机崩溃原因的重要信息。
2721 0
|
Java Linux 应用服务中间件
kill -3 PID命令获取java应用堆栈信息
kill -3 PID命令获取java应用堆栈信息
1001 0
|
Python
Python 技术篇-通过进程名获取进程pid实例演示,使用psutil库获取进程id
Python 技术篇-通过进程名获取进程pid实例演示,使用psutil库获取进程id
491 0
Python 技术篇-通过进程名获取进程pid实例演示,使用psutil库获取进程id
|
NoSQL C语言
printf段错误(core dump): 一个格式化输出引起的问题
printf段错误(core dump): 一个格式化输出引起的问题
510 0