java jmap mat_java内存调优之jmap,jstack,mat
查看整个JVM内存状态
jmap -heap [pid]
要注意的是在使用CMS GC 情况下,jmap -heap的执行有可能会导致JAVA 进程挂起
查看JVM堆中对象详细占用情况
jmap -histo [pid]
可以通过jmap -histo [pid] | head -20查看top20的实例个数以及内存占用情况
导出整个JVM 中内存信息,可以通过eclipse的mat插件查看明细
jmap -dump:format=b,file=文件名 [pid]
jhat是sun 1.6及以上版本中自带的一个用于分析JVM 堆DUMP 文件的工具,基于此工具可分析JVM HEAP 中对象的内存占用情况
jhat -J-Xmx1024M [file]
执行后等待console 中输入start HTTP server on port 7000 即可使用浏览器访问 IP:7000
eclipse Memory Analyzer
Eclipse 提供的一个用于分析JVM 堆Dump文件的插件。借助这个插件可查看对象的内存占用状况,引用关系,分析内存泄露等。
kill -3 [pid]
在Linux 上找到Java所在的进程号,然后执行以上命令,线程的相关信息就输出到console
jstack
jstack 是sun JDK 自带的工具,通过该工具可以看到JVM 中线程的运行状况,包括锁等待,线程是否在运行
执行 jstack [pid] ,线程的所有堆栈信息
"http-8080-10" daemon prio=10 tid=x0a949bb60 nid=0x884 waiting for monitor entry [...]
"http-8080-10" 这个线程处于等待状态。 waiting for monitor entry 如果在连续几次输出线程堆栈信息都存在于同一个或多个线程上时,则说明系统中有锁竞争激烈,死锁,或锁饿死的想象。
“http-8080-11” daemon prio=10 tix=xxx nid=xxx in object.wait() [...]
java.lang.Thread.State:waiting (on object monitor)
该表示http-8080-11的线程处于对象的Wait 上,等待其他线程的唤醒,这也是线程池的常见用法。
“Low Memory Detector”daemon prio=10 tix=xx nid=xxx runnable [...] java.lang.Thread.State:runnable 表示“Low Memory Detector” 的线程处于Runable状态,等待获取CPU的使用权.
java jmap mat_java内存调优之jmap,jstack,mat相关推荐
- [java] JVM监控与调优
原文出处:http://www.cnblogs.com/zhguang/p/java-jvm-gc.html 光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分 ...
- Java启动参数与内存调优一些学习笔记
转载自 Java启动参数与内存调优一些学习笔记 .参数的含义 -Xms128m JVM初始分配的堆内存 -Xmx512m JVM最大允许分配的堆内存,按需分配 -XX:PermSize=64M JV ...
- java 内存调优_JVM内存模型以及性能调优
JVM 内存模型 JVM.png 程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器.分支.循环.跳转.异常处理.线程恢复等基础功能都需要依赖这个计数器来完成. ...
- 发布即巅峰:Java性能调优六大工具:MAT内存分析工具
MAT内存分析工具 MAT是MemoryAnalyzerTool的简称,它是一款功能强大的Java堆内存分析器,可以用于查找内存泄漏以及查看内存消耗情况.MAT是 基于Eclipse开发的一款免费的性 ...
- Java虚拟机学习(5):内存调优
JVM调优主要是针对内存管理方面的调优,包括控制各个代的大小,GC策略.由于GC开始垃圾回收时会挂起应用线程,严重影响了性能,调优的目是为了尽量降低GC所导致的应用线程暂停时间. 减少Full GC次 ...
- java kpi_JAVA内存调优的KPI
当我们在进行Java应用程序的内存和垃圾收集调优时,应该根据关键性能指标做出一系列的决定.但有大量的指标; 选择哪一个,抛弃哪一个?本文将解释内存调优正确的KPI. 内存调优的KPI包括: 吞吐量,响 ...
- Jvm 系列(六):Java 服务 GC 参数调优案例
本文介绍了一次生产环境的JVM GC相关参数的调优过程,通过参数的调整避免了GC卡顿对JAVA服务成功率的影响. 这段时间在整理jvm系列的文章,无意中发现本文,作者思路清晰通过步步分析最终解决问题. ...
- jvm系列(六):Java服务GC参数调优案例
本文介绍了一次生产环境的JVM GC相关参数的调优过程,通过参数的调整避免了GC卡顿对JAVA服务成功率的影响. 这段时间在整理jvm系列的文章,无意中发现本文,作者思路清晰通过步步分析最终解决问题. ...
- Java服务GC参数调优案例
这段时间在整理jvm系列的文章,无意中发现本文,作者思路清晰通过步步分析最终解决问题.我个人特别喜欢这种实战类的内容,经原作者的授权同意,将文章分享于此.原文链接:Java服务GC参数调优案例,下面为 ...
最新文章
- ajax请求成功之后,自动打开一个空白页面,并打印出了返回内容
- 数字图像处理实验(11):PROJECT 05-02,Noise Reduction Using a Median Filter
- oracle 01405 提取的值为null,ORA-01405: 提取的列值为 NULL--报错原因及解决方案
- 10个最常见的数据库缺陷
- 七夕(情人节)表白女朋友,程序员应该如何装一波13
- STM32L0 读取芯片温度与当前供电电压 STM32L051C8T6
- OpenGL 视图和颜色的概念
- 洛谷——P1000 超级玛丽游戏
- 51Nod1682 中位数计数【中位数】
- webAudioAPI
- cad上样条曲线上的点太多了_学习CAD,我总结了五个阶段,你是那个段位?
- java如何开根号?
- SiTime 硅晶振抖动定义和测量方法
- 希腊语 - 希腊字母表对应的意思 - 数据挖掘必备
- 上门洗车APP开发的功能
- snort实验(一)
- DFS求岛屿最大面积
- Fortofy扫描漏洞解决方案
- 微信小程序报错“getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.js...“
- android点击按钮发出声音
热门文章
- js判断移动端,pc端,安卓,苹果浏览器的方法
- AUTOSAR从入门到精通100讲(四十一)-基于AUTOSAR与Matlab开发应用层三部曲-应用层总体功能开发和集成
- C语言过时了吗?不,我们需要的是一份个人成长
- apk改之理_一份礼物.apk-O泡果奶的逆向分析
- 【TypeScript系列教程09】条件语句的使用
- ubuntu下的jdk进行升级_如何在ubuntu上更新jdk版本
- 10个在线Web设计开发工具介绍
- 课时109.外边距合并现象(掌握)
- http://www.tldp.org/LDP/abs/abs-guide.txt.gz
- 浅谈我所见的CSS命名风格