jvm问题查找

本文详细介绍了Java内存分析工具的使用方法,包括jmap、MAT、jVisualVM、jstat等工具的应用场景及具体操作步骤。同时提供了如何设置JVM参数以在内存溢出时自动保存堆快照的方法。

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


=================== jmap ===========================

jmap -histo:live pid 最后一行,查看堆内存大小


================== mat =========================

jmap -dump:live,format=b,file=/home/admin/heap.bin

安装 eclipse mat 插件:http://download.eclipse.org/mat/1.2/update-site/

eclipse->open file 打开heap文件分析


=================== jvisualvm =============

window下启动远程监控,并在被监控服务端,启动jstatd服务。

创建安全策略文件,并命名为jstatd.all.policy
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};

jstatd -J-Djava.security.policy=jstatd.all.policy -p 8080 &


================== jstat ==========================

jstat -gcutil pid 查看jvm堆内存各个区域使用的情况


================= jvm args =======================

-XX:+HeapDumpOnOutOfMemoryError


================= btrace =========================

http://kenai.com/projects/btrace/downloads下载二进制包

编写trace代码TTrace.java

import static com.sun.btrace.BTraceUtils.*;                                                                                                                            
import com.sun.btrace.annotations.*;

@BTrace
public class TTrace {
@OnMethod(
clazz="Test",
method="test"
)
public static void traceExecute(@Self Test instance){
println("call CaseObject.execute");
}
}

bin/btrace $pid TTrace.java




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值