[Java] 查看java对象的内存占用情况--java 优化系列
2011-05-18 14:33
405 查看
jmap 能查看jvm内存中,对象占用内存的情况,还提供非常方便的命令将jvm的内存信息导出的文件。
Shell代码
jmap -dump:format=b,file=heap.bin <pid>
命令jhat 能够解析 java内存堆的文件,生成相关信息,并启动webServer提供查询。 也就说,我们可以通过浏览器来看这些内存信息。jhat还提供了一个类sql的查询语言---OQL来给我们使用。
执行一下
Shell代码
jhat -J-Xmx512m heap.bin
就可以将我们刚刚使用jmap导出的内存信息交给jhat解析了。默认的情况下,它会监听7000端口。我在本机的地址就是,http://localhost:7000/。
访问http://localhost:7000/histo/,大致可以看到一下的画面,这里列出对象,对象实例数量、总占用内存大小。点击进去之后可以看到“谁引用了这个对象,这个对象又引用了哪个”这些信息。不过因为展示的信息非常多,并没有想象中那样清晰可见。
转载:http://mxsfengg.iteye.com/blog/975393
Shell代码
jmap -dump:format=b,file=heap.bin <pid>
jmap -dump:format=b,file=heap.bin <pid>
命令jhat 能够解析 java内存堆的文件,生成相关信息,并启动webServer提供查询。 也就说,我们可以通过浏览器来看这些内存信息。jhat还提供了一个类sql的查询语言---OQL来给我们使用。
执行一下
Shell代码
jhat -J-Xmx512m heap.bin
jhat -J-Xmx512m heap.bin
就可以将我们刚刚使用jmap导出的内存信息交给jhat解析了。默认的情况下,它会监听7000端口。我在本机的地址就是,http://localhost:7000/。
访问http://localhost:7000/histo/,大致可以看到一下的画面,这里列出对象,对象实例数量、总占用内存大小。点击进去之后可以看到“谁引用了这个对象,这个对象又引用了哪个”这些信息。不过因为展示的信息非常多,并没有想象中那样清晰可见。
转载:http://mxsfengg.iteye.com/blog/975393
相关文章推荐
- 查看java对象的内存占用情况
- Java对象内存占用情况分析
- 如何查看Java对象占用JVM内存大小
- java 对象占用内存查看 以及JVM级别 方法修改等
- 检测java对象占用内存的情况工具之内存泄漏
- linux 内存占用情况查看并优化
- java 对象占用内存查看 以及JVM级别 方法修改等
- java对象内存占用情况分析
- java 对象占用内存查看 以及JVM级别 方法修改等
- java对象内存到底占用多少
- Java如何计算某个对象占用的内存数
- 如何计算java对象占用的内存
- 如何在eclipse dump Java内存占用情况和打印GC LOG
- java对象到底占用多大内存?
- 技术积累 — Keil 查看内存占用/优化代码
- 查看LINUX进程内存占用情况
- 查看java内存情况命令
- Linux查看进程的内存占用情况
- JVM:查看java内存情况命令
- xcode 查看当前程序的内存占用情况