JVM 内存分析

本文介绍了如何使用Java自带的性能监控工具,包括jps、jmap、jstack、jinfo和jstat等,来获取进程信息、内存使用情况、堆栈信息及垃圾回收统计等,帮助开发者更好地理解Java应用程序的运行状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源:http://kevin1.iteye.com/blog/1538471
1.获取java程序进程号
Java代码 收藏代码

jps


2.jmap
Java代码 收藏代码

jmap pid #打印内存使用的摘要信息
jmap –heap pid #java heap信息
jmap -histo:live pid #统计对象count ,live表示在使用
jmap -histo pid >mem.txt #打印比较简单的各个有多少个对象占了多少内存的信息,一般重定向的文件
jmap -dump:format=b,file=mem.dat pid #将内存使用的详细情况输出到mem.dat 文件,可以用jvisualvm等工具进行内存分析



3.jstack
Java代码 收藏代码

jstack $PID
可以找出cpu使用最高的对象,jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息


4.jinfo
Java代码 收藏代码

jinfo $PID
Java Configuration Info


5.jstat
Java代码 收藏代码

jstat -gcutil pid #统计gc信息统计
jstat -gcnewcapacity pid #年轻代对象的信息及其占用量
更多详情见: http://www.2cto.com/kf/201109/105988.html


6.参数设定
Java代码 收藏代码

-XX:PrintGCDetails 控制台显示收集器日志信息
-Xms 20M、 -Xmx20M -Xmn10M 堆大小为20M,不可扩展,其中新生代为10M
-XX:+PrintTenuringDistribution=15 年龄多大进入老年代,默认为15
-XX:HandlePromotionFailure=true|false 担保失败,新生代没有空间,可以直接放入老年代中,如果为true,则只进行一次Minior GC,否则进行一次Full GC
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值