java内存分析_java内存分析总结
1、自带的jconsole工具。
(1)如果是从命令行启动,使 JDK 在 PATH 上,运行 jconsole 即可。
(2)如果从 GUI shell 启动,找到 JDK 安装路径,打开 bin 文件夹,双击 jconsole 。
(3)当分析工具弹出时(取决于正在运行的 Java 版本以及正在运行的 Java 程序数量),可能会出现一个对话框,要求输入一个进程的 URL 来连接,
也可能列出许多不同 的本地 Java 进程(有时包含 JConsole 进程本身)来连接。
2、自带的jmap工具
jmap 是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。使用方法 jmap -histo pid。如果连用 SHELL jmap -histo pid>a.log可以将其保存到文本中去(windows下也可以使用),在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。
(1)windows环境DOS查询端口和PID号:TaskList/svc
(2)用netstat -ano命令,列出所有端口对应的PID
3、mat
a、产生dump文件
一个进程对应一个.hprof文件,
(1)设置jvm的参数:-XX:+HeapDumpOnOutOfMemoryError生成的java_pid7888.hprof文件位于当前工程目录下;
(2)通过jmap -dump:format=b,file=HeapDump.bin
(3)通过jconsole生成
选择Mbean -> com.sun.management -> HotSpotDiagnos -> Operations -> dumpHeap
在参数p0中填写保存dmp文件的路径,例如f:/my.hprof,文件的后缀名要为hprof。
点击dumpHeap按钮生成dump文件。
b、安装mat打开.hprof文件进行分析
原文:http://blog.csdn.net/zcc_0015/article/details/38454651
java内存分析_java内存分析总结相关推荐
- java线程内存溢出_Java常见问题分析(内存溢出、内存泄露、线程阻塞等)
Java垃圾回收机制(GC) 1.1 GC机制作用 1.2 堆内存3代分布(年轻代.老年代.持久代) 1.3 GC分类 1.4 GC过程 Java应用内存问题分析 2.1 Java内存划分 2.2 J ...
- java 如何排查内存溢出_java 内存溢出排查
测试代码,如下示例: import java.util.ArrayList; import java.util.List; /** * @Description 测试内存溢出, 启动时设置参数,最大堆 ...
- java map 参数传递_Java参数传递分析
Java之中的参数传递,只有按值传递!!! 传递类型 按值传递:就是把原来的参数的值,拷贝一份,将这个拷贝的值修改,而原来的旧的值不会修改. 引用传递:就是将参数的地址拿来使用,不去拷贝,直接在这个地 ...
- java 内存 回收_java内存回收
一.为什么需要垃圾回收 如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收.除非内存无限大,我们可以任性的分配而不回收,但是事实并非如此.所以,垃圾回收是必须的. 二. ...
- java内存垃圾_Java内存区域与垃圾回收
1,Java内存区域 1.1,运行时数据区域 java虚拟机在java的执行过程中将其管理的内存划分若干区域,有的随虚拟机进程的启动而一直存在,有的则依赖线程的启动和结束而建立和销毁. 1.1.1,程 ...
- java visualvm 教程_Java性能分析神器--VisualVM Launcher[1]
Java性能分析神器1--VisualVM Launcher VisualVM 当你日复一日敲代码的时候,当你把各种各样的框架集成到一起的时候,看着大功告成成功运行的日志,有没有那么一丝丝迷茫和惆怅: ...
- java数组内存溢出_Java内存溢出问题总结
使用Java那么久,在此总结一下Java中常见的内存溢出问题以及对应的解决思路 堆溢出 报错信息 java.lang.OutOfMemoryError: Java heap space 报错原因 堆中 ...
- java if在内存中_Java内存模型知识点小结---《深入理解Java内存模型》(程晓明)读书总结...
一.Java内存模型介绍 内存模型的作用范围: 在Java中,所有实例域.静态域和数组元素存放在堆内存中,线程之间共享,下文称之为"共享变量".局部变量.方法参数.异常处理器等不会 ...
- java查看内存泄露_Java内存泄露如何排查
Java内存泄露是常常出现的问题,Java攀登网进行了该问题的整理,具体的如下所示: 1.2 内存泄露Memory Leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内 存泄露危害可以忽略 ...
- JAVA 继承内存模型_Java内存模型
JVM的组成 类加载器(classloader) 执行引擎(execution engine) 运行时数据区域(runtime data area) 对于Java程序员来说,在虚拟机自动内存管理机制下 ...
最新文章
- android约束布局中 链,Android-ConstraintLayout(约束布局)-Chains链(链条布局,Nice)
- Mongodb百亿级数据添加,修改,删除,查询等性能测试【四】
- java 常用十种设计模式示例归纳 | 已打包请带走
- java 搭建企业应用框架_溯源微服务开发体系:一位Java开发者的转型思考
- openresty获取nginx body内容体
- python日历函数_python 怎么定义一个函数,输出日历
- 我是如何把 Java 项目移植到 .NET 5.0 的
- centos7安装php5.2yum源操作_CentOS7使用阿里yum源进行升级和安装php70W
- 【JS】逻辑运算符 非! 与 或||(处理对象时注意)
- 西门子宣布美国充电桩扩产计划
- PXE-preboot execute environment
- 医药/医疗/互联网医疗服务平台/问诊/挂号/开药/处方/医生/医院/问诊订单管理/移动端问诊医疗系统/医生端处方开药系统/web端医药服务平台管理/axure原型/rp源文件/健康咨询/视频问诊/统计
- 【Spring AOP】基于注解的 AOP 编程
- js焦点图片层叠轮播切换滚动
- 七十三、分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect传递参数...
- 贪吃蛇c语言代贴吧,【图片】C语言小游戏~贪吃蛇【c语言吧】_百度贴吧
- CC++初学者编程教程(6) 配置WindowsXP虚拟机与VC6.0
- 设置font标签居中显示
- Can‘t open /dev/sda3 exclusively. Mounted filesystem?
- FireFox插件RESTClient