JVM本身提供了一组管理的API,通过该API,我们可以获取得到JVM内部主要运行信息,包括内存各代的数据、JVM当前所有线程及其栈相关信 息等等。各种JDK自带的剖析工具,包括jps、jstack、jinfo、jstat、jmap、jconsole等,都是基于此API开发的。本篇对 这部分内容进行
jmap可以查看Java程序的堆内存使用情况,pmap可以查看Linux上运行的进程的内存使用情况。 查看Linux上运行的进程的内存使用情况,可以使用jmap,top,ps命令。 top命令本身也比较的耗资源,系统负载较大时不建议使用。 ps命令的使用,可以如下: ps -aux | grep
分类:
系统相关 时间:
2016-03-13 19:58:45
阅读次数:
315
原文链接: http://my.oschina.net/feichexia/blog/196575 现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention) Java进程消耗CPU过高 ....
分类:
Web程序 时间:
2016-03-02 22:08:24
阅读次数:
456
jps 与ps命令类似: ps -ef|grep java 用来显示本地的java进程,查看本地执行着几个java应用,并显示进程号。 [root@SE43 ~]# jps //仅仅显示进程号 23813 Jps 710 Bootstrap 792 Bootstrap [root@SE43 ~]#
分类:
Web程序 时间:
2016-02-27 16:28:42
阅读次数:
216
在长期排查线上问题的过程中,总结了一些工具的用法和排查问题的思路,这里跟大家分享一下,在遇到类似的问题时,希望能给予一些帮助。 首先讲讲工具, jvm 自带的一些工具是必须熟练掌握的,例如jstack, jmap, jstat等,它们可以帮我们去深入了解JVM正在做的事情,主要的适用领域有这些: 1
分类:
编程语言 时间:
2016-02-26 20:26:49
阅读次数:
206
1、安装mat 打开Eclipse - >help - > Eclipse Marketplace 安装mat工具 2、用jmap生产dump内存转储快照,jmap -dump:live,format=b,file=/tmp/dumin.hprof pid 3、通过MAT打开dump出来的内存文件
分类:
其他好文 时间:
2016-02-15 16:31:52
阅读次数:
163
1、定位系统问题 依据 GC日志 堆转储快照(heapdump/hprof文件) 线程快照(threaddump/javacore文件) 运行日志 异常堆栈 分析依据的工具 jps:显示指定系统内的所有JVM进程 jstat:收集JVM各方面的运行数据 jinfo:显示JVM配置信息 jmap:形成
分类:
其他好文 时间:
2016-02-07 21:16:07
阅读次数:
321
1、命令基本概述 Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。 使用方法 jmap -histo pid。如果使用SHELL ,可采用jmap -hist
分类:
其他好文 时间:
2016-01-30 18:12:40
阅读次数:
213
发现内存泄露除了仔细看代码的确没有太好的方法。首先看gc log, 确定是内存泄露,而不是内存不够。内存泄露的特点就是以每次Full GC后使用的最低内存为起点,拟合一条线。如果这条线是随时间递增的一条曲线,那么很大程度上代表着内存泄露。然后使用 jmap -histo [pid] 来查看你的所有对象所占内存的比例。你可能很不幸的发现[B 这个byte数组对象占用了绝大多数。这的确没有更好的方法了...
分类:
编程语言 时间:
2016-01-27 02:03:27
阅读次数:
250
1、命令基本概述Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。使用方法jmap-histopid。如果使用SHELL,可采用jmap-histopid>a....
分类:
其他好文 时间:
2016-01-19 10:21:59
阅读次数:
195