- 浏览: 137685 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
cnmcxiari:
Set ws = CreateObject("Wsc ...
bat启动java程序 可以隐藏cmd窗口 -
timer_yin:
不行啊 还是无法隐藏CMD窗口
bat启动java程序 可以隐藏cmd窗口
jmap是JDK自带的一个工具,非常小巧方便,其支持参数如下:
-heap
打印heap空间的概要,这里可以粗略的检验heap空间的使用情况。
jmap -heap PID
fs@inspur92:~/test/llxdata/081005/tmp$ jmap -heap 30774
Attaching to process ID 30774, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 20.1-b02
using thread-local object allocation.
Parallel GC with 8 thread(s)
Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 1073741824 (1024.0MB)
NewSize = 1310720 (1.25MB)
MaxNewSize = 17592186044415 MB
OldSize = 5439488 (5.1875MB)
NewRatio = 2
SurvivorRatio = 8
PermSize = 21757952 (20.75MB)
MaxPermSize = 268435456 (256.0MB)
Heap Usage:
PS Young Generation
Eden Space:
capacity = 353107968 (336.75MB)
used = 9083624 (8.662818908691406MB)
free = 344024344 (328.0871810913086MB)
2.572477775409475% used
From Space:
capacity = 2359296 (2.25MB)
used = 0 (0.0MB)
free = 2359296 (2.25MB)
0.0% used
To Space:
capacity = 2359296 (2.25MB)
used = 0 (0.0MB)
free = 2359296 (2.25MB)
0.0% used
PS Old Generation
capacity = 715849728 (682.6875MB)
used = 47522208 (45.320709228515625MB)
free = 668327520 (637.3667907714844MB)
6.638573172720407% used
PS Perm Generation
capacity = 40435712 (38.5625MB)
used = 40067528 (38.21137237548828MB)
free = 368184 (0.35112762451171875MB)
99.08945834810575% used
以上的输出很简单,第四行起开始输出此进程我们的JAVA使用的环境。
Heap Configuration,指在我们启动时设置的一些JVM参数。像最大使用内存大小,年老代,年青代,持久代大小等。
Heap Usage,heap的实际使用情况。包括新生代、老生代和持久代。
有这个可以很简单的查看本进程的内存使用情况。也许进程占用的总内存比较多,但我们在这里可以看到真正用到的并没有多少,很多都是"Free"。内存使用的堆积大多在老年代,内存池露始于此,所以要格外关心“Old Generation”。
-histo PID
这里会生成一个类的统计报表,此表非常简单,如显示什么类有多少个实例,共占了多少字节等。如下:
fs@inspur92:~/test/llxdata/081005/tmp$ jmap -histo 30774
num #instances #bytes class name
----------------------------------------------
1: 12077 37306240 [I
2: 8404 8913528 [B
3: 55627 8311744 <constMethodKlass>
4: 55627 7576152 <methodKlass>
5: 35982 6771360 [C
6: 4838 5536240 <constantPoolKlass>
7: 88849 4696992 <symbolKlass>
8: 4838 3735856 <instanceKlassKlass>
9: 4024 3334976 <constantPoolCacheKlass>
10: 4600 2201648 <methodDataKlass>
11: 35011 1120352 java.lang.String
12: 5286 549744 java.lang.Class
13: 6509 441272 [S
14: 7454 392128 [[I
其中关于I、B、C等的说明如下 Table 4.2.
BaseType Character | Type | Interpretation |
B | byte | signed byte |
C | char | Unicode character |
D | double | double-precision floating-point value |
F | float | single-precision floating-point value |
I | int | integer |
J | long | long integer |
L<classname>; | reference | an instance of class de><classname>de> |
S | short | signed short |
Z | boolean | de>truede> or de>falsede> |
[ | reference | one array dimension |
-permstat
打印一些持久代上的内存使用状态,有“活”的,有“死”的。
class_loader classes bytes parent_loader alive? type
<bootstrap> 2099 12780072 null live <internal>
0x00000000c069dc58 1 1968 0x00000000c017e968 dead sun/reflect/DelegatingClassLoader@0x00000000b00685b0
0x00000000c05c37d8 1 2008 0x00000000c017e968 dead sun/reflect/DelegatingClassLoader@0x00000000b00685b0
0x00000000c069d900 1 1968 0x00000000c017e968 dead sun/reflect/DelegatingClassLoader@0x00000000b00685b0
不常用。
-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的文件名。
当被测应用使用内容较大时(4G以上),dump需要花费较长时间,很可能导致dump失败。
dump下来的文件结合jhat进行分析会更方便。
jhat
jhat是一个Java堆复制浏览器。这个工具分析Java堆复制文件(例如,由上面的"jmap -dump"所产生的)。Jhat启动一个允许堆中的对象在web浏览器中进行分析的web服务器。这个工具并不是想用于应用系统中而是用于"离线"分 析。"jhat工具是平台独立的",其意思是,它可以被用来观察在任何平台上所产生的堆复制。例如,我们有可能在Linux系统上使用jhat来观察一个 在Solaris OS上所产生的堆复制。
把本机的java内存映像导出到heap.dmp中,其中PID为java进程的ID号。
jmap -dump:live,format=b,file=heap.dmp PID
导出后的映像文件可以用jhat来进行分析,-J是向java虚拟机传一个参数,如-mx768m是指定虚拟机可用最大的内存为768M。如果映像文件很大,你要指定一个很大的值,否则在分析过程中就会有OutOfMemeryError的错误。
jhat -J-mx768m -port <端口号:默认为7000> heap.dmp
java CPU占用分析
http://www.oschina.net/question/54100_59399
发表评论
-
博客迁移说明
2014-05-08 14:49 532从今天起,此博客空间不再更新博客,全部博客迁移到http: ... -
java io/nio
2014-04-24 10:20 6101. 基本 概念 IO 是主存和外部设备 ( 硬盘、 ... -
java hashMap解读
2013-12-03 14:09 632java中HashMap详解 HashMa ... -
reids学习(持续更新)
2013-08-28 15:38 602reids命令 文档查询网址http://redis.read ... -
quartz 定时器的动态加载和取消定时任务
2013-08-19 13:55 1414 -
编码解析过程
2013-07-11 19:21 899如果不进行encodeuri时而且web容器没有设置编 ... -
url 编码和解码
2013-07-11 17:55 660解决方法如下: 1、在JS里对中文参数进行两次转码 (默认只 ... -
top:动态观察程序的变化
2013-07-11 17:46 769转载自:http://www.cnblogs.com/all ... -
myeclipse 安装jad插件
2013-05-09 11:23 5606转自:http://hunter090730.iteye.c ... -
hibernate 学习
2013-05-09 11:22 636hibernate 支持两种创建SQL 1SQLQuer ... -
linux 服务器之间做同步
2013-05-08 18:16 707在工作中我经常要用到服务器之间的数据同步 使用的命令rsy ... -
java 内存分析之---Eclipse Memory Analyzer使用
2013-05-03 17:42 1126生成报告 jmap -dump:live,format=b ... -
Quartz的cron表达式
2013-01-09 15:50 643Quartz的cron表达式 来源:http://www ... -
有空需要看的几个项目
2012-12-27 17:06 680最好看看源码实现 1 Javassist学习使用(参考自:h ... -
Rides 学习
2012-12-06 14:08 771http://www.searchdatabase.com.c ... -
apache学习
2012-11-05 11:05 639通过配置APACHE,使得被访问页面在客户端进行缓存,从而实现 ... -
linux 下apache的使用
2012-11-01 10:07 0安装: ./configure --prefix=/usr/ ... -
java工具类的使用(随笔更新)
2012-10-18 14:50 730java.lang.Math Math.ceil(1.2)= ... -
java随笔记
2012-10-18 09:25 649多线程时,如果不同步,对同一个变量同时进行读写就可能有问 ... -
工具命令
2012-10-16 17:04 631nslookup 域名 netstat ...
相关推荐
XCLProfiler以及XCLTools 是通用OpenCL性能分析工具。 用于快速分析OpenCL Kernel以及DMA的性能。 提供文本方式的输出便于使用工具软件或者脚本进行日志分析。不同于大多数厂家的定制工具,XCLProfiler支持所有标准...
为什么关注前端性能分析? Yahoo 高性能网页最佳实践(14+20) 前端性能分析工具 Fiddler IBM Page Detailer FireBug Yahoo YSlow HTTP Analyzer AOL PageTest PageTest 源码解读 优化定律 如何扩展前端工具
本资源通过描述命令作用,并结合实例,讲解Linux下常见的几种性能分析工具,包括vmstat、sar、iostat、free、uptime、netstat和top
Oracle性能分析工具的使用
koTime是一个轻量级的springboot项目性能分析工具,通过方法调用链路追踪以及运行时长监控快速定位性能瓶颈,并进行可视化展示,还支持代码热更新与邮件预警; 实时监听方法,统计运行时长; web展示方法调用链路,...
一个轻量级的springboot项目性能分析工具,通过方法调用链路追踪以及运行时长监控快速定位性能瓶颈,并进行可视化展示,还支持代码热更新与邮件预警 实时监听方法,统计运行时长 web展示方法调用链路,瓶颈可视化...
sqlserver 性能分析工具大全,包括uml,MPSreport,SQL Server 2005 Best Practices Analyzer ,SQL Server 2005 Performance Dashboard Reports,SQL Server Web Data Administrator,sqlnexus 2.5.0.7,Relog Tool,...
简单易用的Windows平台性能分析工具,与vc6以上的版本自带的性能分析工具功能类似。简单的几个步骤即可分析出C++程序的性能所在,没有Intel的VTune_Amplifier这么专业,但是对于Windows开发来说足够使用。
IBM提供性能分析工具:1、gc-analyzer 2、HeapAnalyzer 3、jca433
Linux性能分析工具(Nmon)以及使用说明、nmon analyser 参数说明、教程
C语言性能分析工具
koTime是一个springboot项目性能分析工具,通过追踪方法调用链路以及运行时长快速定位性能瓶颈,并进行可视化展示,还支持代码热更新与邮件预警! a springboot tool for tracing call graph,which can help you find...
绝对好用,占用资源较少,性能分析工具之-- Memory Analyzer Tool(MAT) ,
nmon 是IBM提供的运行于AIX/Linux平台的性能分析工具,可以在同一屏幕中输出CPU、内存、进程、网络、磁盘等各种性能数据。 支持pSeries® p5、x86、x86_64架构机型,能够运行在AIX和多种Linux发行版,二进制发布,...
c++ 性能分析工具
PerfView是一个免费的性能分析工具,有助于隔离CPU和内存相关的性能问题。它是一个Windows工具,但是它也支持分析在Linux机器上收集的数据。它适用于各种各样的场景,但具有许多特殊功能,用于调查为。NET运行时。 ...
WPF 性能分析工具 x64 WPF 性能分析工具 x64 WPF 性能分析工具 x64
2) nmon_analyser性能分析工具 可以帮助对通过 nmon 性能工具捕获的性能数据进行分析。它允许性能专家完成下列任务: 以电子表格的形式查看相应的数据 消除‘错误的’数据 生成向客户进行演示的图形 3) 此资源...