linux下jmap 内存命令,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下用命令查看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  MD5 certutil -hashfile  SHA1 certutil -hash ...

linux 清理内存命令 查看内存命令

查看内存: 我们可以用free命令查看内存信息: free -g total used free shared buffers cachedMem: 15   15    0     0       ...

linux top命令查看内存及多核CPU的使用讲述【转】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/272665.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BZOJ3144: [Hnoi2013]切糕

题目:http://www.lydsy.com/JudgeOnline/problem.php?id3144 把每一条z轴都拿出来,s->(x,y,1),cf[x][y][1];(x,y,k)->(x,y,k1),cf[x][y][k];(x,y,r)->t,cinf 然后对于四联通的点,(x,y,z)->(x,y’,z-d) 似乎这叫经典的最小割模型…

如何通俗地解释 C、C++、C#、Java、JavaScript、HTML、Python的用处

世界上本来没有计算机,工程师创造了它。为了让告诉计算机需要做什么事情,工程师发明了程序设计语言。简单粗暴的编程:C语言:用来学编程;C语言:用来使劲儿学编程;C#:用来在windows操作…

安卓linux交叉编译,Linux Ubuntu下用Android NDK 生成独立交叉编译链

本文主要介绍使用Android NDK生成独立交叉编译链,然后使用独立交叉编译链编译Android程序下载NDK下载与自己操作系统相吻合的版本 下载地址解压到安装目录(如~/myndk):tar -zxvf android-ndk-r14b-linux-x86_64将NDK的根目录生成一个环境变量打开~/.bashrcw文件&…

数据结构——各排序算法的比较

1.从时间复杂度比较   从平均时间复杂度来考虑,直接插入排序、冒泡排序、直接选择排序是三种简单的排序方法,时间复杂度都为O(n2),而快速排序、堆排序、二路归并排序的时间复杂度都为O(nlog2n),希尔排序的复杂度介于这两者之间。…

将c程序移植到linux,各位大侠:我把原来在linux运行的c程序移植到HPUNIX上出现了错误...

各位大侠:我把原来在linux运行的c程序移植到HPUNIX上出现了错误(2012-04-11 00:43:47)标签:linuxc程序杂谈各位大侠:我把原来在linux运行的c程序移植到HP_UNIX上出现了错误makefileCC aCC -AA W829 DD64 DAportable-I/ods/app/oracle/produc…

数据库学习建议之提高数据库速度的十条建议

很多网站的重要信息都是保存在数据库中的,用户通过提交访问数据库来获取用户信息。如果数据库速度非常的快,有助于节省服务器的资源,在这篇文章中,我收集了十个优化数据库速度的技巧。0. 小心设计数据库第一个技巧也许看来理所当然…

Java中数据类型的取值范围

整数数据类型的取值范围 我们都知道计算机的底层是二进制,也知道不同的整数类型存储值的范围不同,可这些数值在计算机底层是怎样存储的呢?数值范围又是怎么计算出来的呢? 下面以java来进行举例: byte 1个字节 (8bit…

linux的cpu信息怎么理解,理解Linux下的CPU信息:lscpu cpuinfo

通过lscpu命令,可以看到CPU的一些基本信息。如下所示,可以很清楚的看到这台服务器使用两个物理socket,每个socket上有6个core,每个core上有两个线程(超线程),所以一共有2 * 6 * 2 24个逻辑CPU。Architecture: x86_64C…

如何降低SQL语句复杂度

SQL语句复杂度的优化就是在结果正确的前提下,将复杂、难以维护的SQL语句拆分成独立、易懂的SQL片段,当然也要充份利用索引,减少表描的I/O次数,尽量避免表搜索的发生。下面介绍降低SQL语句复杂度的几个建议1、动态查询语句一些应用…

提高程序员工作效率的11个技巧

“吃苦耐劳”真的是优良品质吗,与你怎么做相比,老板们应该更关心你做了什么、达到的效果。所以,效率,还是效率,希望这些实用小技巧对大家有所帮助。1、两分钟法则如果一件事可以在两分钟内完成,比如回复邮件…

tq3358 linux 串口驱动编程,TQ335x——spidev驱动的生成

kernel:CD盘的kernel3.2包环境:vmware10,ubuntu14.04修改的部分:arch/arm/mach-omap2/board-am335xevm.c文件中static struct spi_board_info am335x_spi1_slave_info[] {{.modalias "smb380",.platform_data &A…

Linux下显示ip所属位置

在linux下,要是网络出现延迟,通常我们需要分析自己到对端的服务器的网络环境 1 例:ping www.baidu.com 2 traceroute www.baidu.com 通过分析来确定大概是什么问题,可当我们去跟踪某个ip的时候不知道来源,假如每一个…

C#程序集相关的概念

程序集包含:类型元数据(描述在代码中定义的每一类型和成员,二进制形式)。程集元数据(程序集清单、版本号、名称等)、IL代码(这些都被装在exe或dll中)、资源文件。每个程序集都有自己…

linux+删除乱码的文件,linux 下删除乱码文件-乾颐堂

在linux下删除文件,遇到特殊字符是一件非常头疼的事情。1. 如果文件名带 ‘-’ 或者‘--’这样的字符删除办法为:rm -- 文件名如文件名为:-pythontab.tgz如果用普通方法去删除:1rm -pythontab.tgz结果错误:rm: invalid…

程序员如何保护自己的颈椎

我们程序员天天对着电脑,眼睛,颈椎等等,都会落下不少的职业病。来说说怎么治疗自己的颈椎病。1、颈椎病是怎么产生的形成颈椎病的核心原因是:不良生活习惯我们身体的绝大部分疾病都是来自不良的生活习惯,生活习惯不改&…

如何改变XCode的默认设置

改变bundle ID 进入 /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application 目录然后进入各个子目录(Navigation-based ApplicationOpenGL ES ApplicationSplit View-based ApplicationTab Bar ApplicationUtility ApplicationView-b…

linux关机时循环输出脚本,Linux关机时执行指定脚本功能实现

1.关机时执行某个脚本的具体思路(1)在文件夹/etc/init.d/下创建关机时需要执行的脚本file_name;(2)分别在文件夹/etc/rc0.d/和/etc/rc6.d/下创建该该脚本文件的链接文件K07file_name:sudo ln -s /etc/init.d/file_name /etc/rc0.d/K07file_namesudo ln -…

URI和URL及URN的区别

对于URL,大家都比较熟悉,其他两个词就比较陌生了。URI、URL和URN是识别、定位和命名互联网上的资源的标准途径。1989年Tim Berners-Lee发明了互联网(World Wide Web)。WWW被认为是全球互连的实际的和抽象的资源的集合–它按需求提供信息实体–…

Linux基础-目录与路径

今天我们一起来认识下linux中的目录与路径及操作其的一些常用命令。 说起路径就有绝对与相对之分,虽然简单,我们还是再啰嗦一下: 绝对路径,从系统的根目录/开始的目录都是相对路径,比如/usr/bin、/usr/local 相对路径…

螺旋图形Linux,Canvas 螺旋线几何图形绘制

JavaScript语言:JaveScriptBabelCoffeeScript确定window.requestAnimFrame (function() {return window.requestAnimationFrame ||window.webkitRequestAnimationFrame ||window.mozRequestAnimationFrame ||window.oRequestAnimationFrame ||window.msRequestAnim…