Linux下jmap命令查看内存使用
Linux下jmap命令查看内存使用
jmap -heap 1234
(1234为进程号)
jmap是JDK自带的一个工具,非常小巧方便,其支持参数如下:
-heap
打印heap空间的概要,这里可以粗略的检验heap空间的使用情况。
例:
jmap -heap 12345
输出:
Attaching to process ID 2657, please wait...
Debugger attached successfully.
Client compiler detected.
JVM version is 1.5.0_16-b02
using thread-local object allocation.
Mark Sweep Compact GC
Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 67108864 (64.0MB)
NewSize = 655360 (0.625MB)
MaxNewSize = 4294901760 (4095.9375MB)
OldSize = 1441792 (1.375MB)
NewRatio = 12
SurvivorRatio = 8
PermSize = 8388608 (8.0MB)
MaxPermSize = 67108864 (64.0MB)
Heap Usage:
New Generation (Eden + 1 Survivor Space):
capacity = 4521984 (4.3125MB)
used = 1510200 (1.4402389526367188MB)
free = 3011784 (2.8722610473632812MB)
33.39684527853261% used
Eden Space:
capacity = 4063232 (3.875MB)
used = 1495992 (1.4266891479492188MB)
free = 2567240 (2.4483108520507812MB)
36.81778446320565% used
From Space:
capacity = 458752 (0.4375MB)
used = 14208 (0.0135498046875MB)
free = 444544 (0.4239501953125MB)
3.0970982142857144% used
To Space:
capacity = 458752 (0.4375MB)
used = 0 (0.0MB)
free = 458752 (0.4375MB)
0.0% used
tenured generation:
capacity = 59342848 (56.59375MB)
used = 36321192 (34.638587951660156MB)
free = 23021656 (21.955162048339844MB)
61.20567721994064% used
Perm Generation:
capacity = 11796480 (11.25MB)
used = 11712040 (11.169471740722656MB)
free = 84440 (0.08052825927734375MB)
99.28419325086806% used
以上的输出很简单,第四行起开始输出此进程我们的JAVA使用的环境。Heap Configuration,指在我们启动时设置的一些JVM参数。像最大使用内存大小,年老代,年青代,持久代大小等。有这个可以很简单的查看本进程的 内存使用情况。也许进程占用的总内存比较多,但我们在这里可以看到真正用到的并没有多少,很多都是"Free"。内存使用的堆积大多在老年代,内存池露始 于此,所以要格外关心“tenured generation”。
-heap:format=b
产生一个HeapDump文件,此为生成heapdump文件的重要参数。
例:jmap -heap:format=b 2657
会产生一个heap.bin的heapdump文件。
需要注意的是,此生成heapdump的参数为JDK1.5,在1.6中的格式为:
jmap -dump:live,format=b,file=xxx 2657
这里更加强大一些,可以指定是存活的对象,还有生成heapdump的文件名。
-histo
这里会生成一个类的统计报表,此表简单无比,如显示什么类有多少个实例,共占了多少字节等,如下:
例:jmap -histo 1234
Size Count Class description
-------------------------------------------------------
8394352 105 long[]
8293192 57202 char[]
7834776 14157 byte[]
6713592 53743 * ConstMethodKlass
4194320 1 com.xjawa.cms5server.Kontent[]
4055072 12319 int[]
3291104 85082 * SymbolKlass
3016040 53743 * MethodKlass
2774936 4253 * ConstantPoolKlass
1871480 4253 * InstanceKlassKlass
1811808 3990 * ConstantPoolCacheKlass
1488672 62028 java.lang.String
1203280 13258 java.lang.Object[]
Linux下jmap命令查看内存使用的更多相关文章
- Linux下用命令查看CPU ID以及厂家等信息
Linux下用命令查看CPU ID // 获得CPU IDdmidecode -t 4 | grep ID |sort -u |awk -F': ' '{print $2}' // 获得磁盘IDfdi ...
- Linux 使用 free 命令查看内存使用情况
1.free 命令的选项 使用 free 命令查看服务器内存使用情况. free [-b|-k|-m|-g|-h] [-l] [-o] [-t] [-s delay] [-c count] [-V] ...
- linux 下使用命令查看jvm信息
java程序员除了编写业务代码之外,特别是项目上线之后,更需要关注的是系统的性能表现,这个时候就需要了解一下jvm的性能表现了,可以借助于java虚拟机自带的一些分析工具,主要有三个常用的命令. 1. ...
- linux下常用命令查看端口占用
在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询netstat命令各个参数说明如下: -t : 指明显示TCP端口 ...
- linux下top命令查看cpu占用情况
可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等.退出 top 的命令 ...
- win7和linux下利用命令查看文件md5、sha1、sha256
win7 certutil -hashfile <filename> MD5 certutil -hashfile <filename> SHA1 certutil -hash ...
- linux 清理内存命令 查看内存命令
查看内存: 我们可以用free命令查看内存信息: free -g total used free shared buffers cachedMem: 15 15 0 0 ...
- linux top命令查看内存及多核CPU的使用讲述【转】
转载一下top使用后详细的参数,之前做的笔记找不见了,转载一下,作为以后的使用参考: 原文地址:http://blog.csdn.net/linghao00/article/details/80592 ...
- 怎么查看二进制文件内容?linux下nm命令告诉你!
linux下强大的文件分析工具 -- nm 什么是nm nm命令是linux下自带的特定文件分析工具,一般用来检查分析二进制文件.库文件.可执行文件中的符号表,返回二进制文件中各段的信息. 目标文件. ...
随机推荐
- 最短路问题(dijkstral 算法)(优化待续)
迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法.是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题.迪杰斯特拉算法主要特点是以起始点为中心向 ...
- uwsgi/uWSGI/WSGI简介
参考文章 uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换.z WSGI是一种Web服务器网 ...
- Bzoj2395: [Balkan 2011]Timeismoney(最小乘积生成树)
问题描述 每条边两个权值 \(x,y\),求一棵 \((\sum x) \times (\sum y)\) 最小的生成树 Sol 把每一棵生成树的权值 \(\sum x\) 和 \(\sum y\) ...
- drupal7 获取当前使用的主题的名称
直接引用全局变量就行: 参考: 代码测试: global $theme, $theme_key; echo $theme; echo '<br>'; echo $theme_key; 结果 ...
- axios中设置post请求,后台却无法识别参数
场景:在使用iview时,定义api请求时,代码如下 export const delWord = (data) => { return axios.request({ url: '/words ...
- 最简单,有效的学习mysql教程(一)
数据库 1 定义 数据库,可以简单的解释为:高效的存储和处理数据的介质(主要分为磁盘和内存两种). 2 分类 根据数据库存储介质的不同,可以将其分为两类,即:关系型数据库(SQL)和非关系型数据库(N ...
- 【转载】python实例手册
今天写爬虫的时候遇到了问题,在网上不停地查找资料,居然碰到两篇好文章: 1.python实例手册 作者:没头脑的土豆 另一篇在这:shell实例手册 python实例手册 #encoding:ut ...
- 浏览器根对象window之history
1. history(H5) Window.history保存用户在一个会话期间的网站访问记录,用户每次访问一个新的URL即创建一个新的历史记录. 1.1 length 返回浏览器历史列表中的 URL ...
- 【javascript】javascript设计模式mixin模式
概述: Mixin是JavaScript中用的最普遍的模式,几乎所有流行类库都会有Mixin的实现.任意一个对象的全部或部分属性拷贝到另一个对象上. 一 .混合对象 二 .混合类
- mysql存储过程模板
CREATE DEFINER=`root`@`localhost` PROCEDURE `SP_test`(IN `nodeCode` varchar(100),IN `id` varchar(36) ...