性能测试之内存异常-JVM内存故障排查方法

本文介绍了如何使用Native Memory Tracking (NMT)进行JVM内存故障排查,包括NMT的概念、使用方法、jcmd查看报告的详细步骤,以及通过实例分析内存问题,帮助诊断和解决内存泄露问题。
摘要由CSDN通过智能技术生成

系统的故障诊断是一个一步一步排除可能疑点最后找到问题所在的过程。今天和你一起学习JVM内存的故障排查方法。

Native Memory Tracking是什么

Native Memory Tracking (NMT) 是Java Hotspot VM的一个功能。用来跟踪Java 内存的使用情况,NMT可以追踪到堆内内存、code区域、通过unsafe.allocateMemory和DirectByteBuffer申请的内存,NMT不能跟踪C代码的申请的堆外内存的情况,因此有些时候需要配合操作系统级的内存检测工具使用。

Native Memory Tracking(NMT)的使用

  1. -XX:NativeMemoryTracking=[off | summary | detail]

  2. # off: 默认关闭

  3. # summary: 只统计各个分类的内存使用情况.

  4. # detail: Collect memory usage by individual call sites.

参数说明如下:

参数 说明
off 默认是off,关闭NMT
summary 只收集汇总信息
detail 收集全部信息

特别提醒:开启NMT后,性能会有5%-10%的损耗,因此,在发现有内存问题后,才能使用该工具,没有发现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值