`
regbin
  • 浏览: 56103 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JAVA调优之工具:jmap+mat

阅读更多

用途:用来查找内存泄露
介绍
 
         Jmap:jdk自带,主要用来查看JVM各个代的内存情况或内存占用状况, 支持导出整个JVM内存信息
          MAT :Eclipse 内存分析工具:http://www.eclipse.org/mat
使用
1、dump出内存信息:jmap -dump:format=b,file=dump.bin pid
2、eclipse 安装好mat插件: http://download.eclipse.org/mat/1.0/update-site/
3、eclipse直接打开dump的文件:dump.bin(注意:eclipse 内存设置大一点)
4、mat工具的具体使用网上比较多,还是比较好使用。分析后的文件可以生成html格式的,方便离线使用

 

试验代码

public class OutOfMemory {
    private String str;
    public OutOfMemory(String str) {
        this.str = str;
    }
    public static void main(String[] args) throws InterruptedException {
        HashMap<Integer, OutOfMemory> map = new HashMap<Integer, OutOfMemory>();
        String s = "O";
        for (Integer i = 0; i < 100; i++) {
            s += s;
            OutOfMemory o = new OutOfMemory(s);
            map.put(i, o);
            Thread.sleep(2000);
            System.out.println(i);
        }
    }
}

 

运行:java –Xmx128m –Xms128m OutOfMemory






 

分享到:
评论

相关推荐

    java查看sun包源码-monitor:java生产环境内存调优(包括jvm参数类型,JVM的参数类型jinfo&jps(参数和进程查看)j

    jmap+MAT(内存溢出):alien: jstack(线程、死循环、死锁):alien: JVisualVM(本地和远程可视化监控:alien: 使用 BTrace进行拦截调试:alien: Tomcat 性能监控与调优:alien: Nginx 性能监控与调优:alien: JVM 层 GC 调优...

    jvm工具、参数调优&调试技巧

    ### JVM工具、参数调优与调试技巧 #### 一、JVM工具 ##### 1. jps:虚拟机进程状况工具 - **简介**:`jps` 是一个用于显示当前运行的所有Java虚拟机进程(JVMs)的简单工具。它会列出每个JVM的PID(进程ID)以及...

    jvm工具、参数调优&调试技巧.doc

    5. **jmap(Memory Map for Java)**:它可以导出堆内存快照,供其他工具如jhat或MAT进行分析,也可以获取垃圾收集器和堆内存的详细信息。 6. **jstack(Java Thread Stack Trace)**:提供Java线程堆栈信息,用于...

    Java诊断工具源代码.zip

    1. **JVM内置工具**:Java虚拟机(JVM)提供了多种内置的诊断工具,如`jps`(Java进程状态工具)、`jstat`(Java统计监视工具)、`jinfo`(配置信息工具)、`jmap`(映射工具)、`jhat`(堆分析工具)和`jstack`...

    java 内存溢出分析工具 HeapAnalyzer

    Java内存溢出(Out of Memory,OOM)是Java应用程序中常见的问题,会导致程序崩溃或性能急剧下降。HeapAnalyzer是一款强大的工具,专为分析...在实际操作中,结合JVM调优知识,可以更好地利用这类工具优化Java应用。

    jvm调优学习-optimizeJVM.zip

    在Java开发领域,JVM(Java Virtual Machine)是运行Java应用程序的关键组件,它负责解析字节码并执行程序。JVM调优是一项重要的技能,它能够帮助提升应用性能、减少内存消耗以及改善整体系统稳定性。"jvm调优学习-...

    Java工程师应用技术汇总

    - **Eclipse Memory Analyzer (MAT)**:用于检测内存泄漏的工具。 - **VisualVM**:集成多种监控工具的GUI工具,支持OQL查询语言。 **1.1.5 编写异常程序** - **HeapOutOfMemory**:堆内存溢出。 - **...

    java—JDK内置工具使用技巧详解

    - **使用场景**:当怀疑应用程序存在内存泄漏时,使用 jmap 生成 heap dump 文件,进一步通过其他工具(如 MAT 或 VisualVM)进行分析。 - **命令格式**:`jmap [options] &lt;pid&gt;` 或 `jmap [options] core` ##### 5...

    MemoryAnalyzerTool(MAT)win版64位

    MemoryAnalyzerTool(MAT),全称为Eclipse Memory Analyzer Tool,是一款由Eclipse基金会开发的强大的Java内存分析工具。它专为解决Java应用程序中的内存泄漏问题而设计,适用于各种操作系统,包括Windows 64位系统...

    Java宝典大全

    - **Java诊断工具**: Eclipse Memory Analyzer (MAT) 和 VisualVM 等工具可以帮助开发者诊断内存泄漏等问题。 ##### 1.2 Java基础知识 - **阅读源代码**: 了解Java核心库的实现细节对于深入理解Java语言至关重要。...

    MemoryAnalyzer-1.8

    Eclipse Memory Analyzer(简称MAT)是一款强大的Java内存分析工具,专为检测和解决Java应用程序中的内存泄漏问题而设计。它适用于各种操作系统,包括Windows,因此“MemoryAnalyzer-1.8”版本完美适配Windows用户。...

    heapdump分析工具

    在Java应用程序中,内存管理是性能优化的关键环节。当遇到应用程序运行缓慢,频繁出现Full GC,甚至出现OutOfMemoryError等问题时,我们...正确使用heapdump工具和相关的分析资源,是每个Java开发者必备的技能之一。

    2024年java面试题-jvm性能调优面试题第二部分

    ### 2024年Java面试题:JVM性能调优面试题第二部分 #### 内存模型及分区 在Java虚拟机(JVM)中,内存主要被划分为以下几个区域: 1. **堆区(Heap)**:堆区是用于存储初始化的对象、成员变量等数据的地方。所有对象...

    OOM分析工具-MemoryAnalyzer.zip

    《Java OOM问题分析利器:Memory Analyzer Tool (MAT)》 ...在实际工作中,结合MAT与JVM的其他监控工具,如VisualVM、JConsole等,将形成一套完整的Java性能调优体系,为我们的开发工作保驾护航。

    Java线上故障排查方案.pdf

    4. 内存分析工具(Memory Analysis Tools):MAT(Memory Analyzer Tool)是Java内存分析工具,能够帮助分析堆转储文件,定位内存泄漏、分析内存使用情况。 5. JVM性能监控(JVM Performance Monitoring):监控JVM...

    Java工程师成神之路~-HollisChuang's Blog1

    在成为一位出色的Java工程师的道路上,理解并掌握Java内存模型、JVM参数调优以及相关工具的使用至关重要。首先,让我们深入探讨Java内存模型(JMM)。JMM规定了线程如何共享和访问内存,确保多线程环境下的正确性。...

    JVM分析工具

    `jmap` 是一个命令行工具,它允许开发者获取堆内存的详细信息,包括堆的配置、对象统计、类装载情况等。通过`jmap -histo`命令,可以得到堆内存中对象的直方图,帮助识别内存泄漏。此外,`jmap -dump`能生成heap ...

    JVM与性能优化知识点整理.pdf

    **JVM(Java Virtual Machine)是Java程序运行的基础,它为Java代码提供了跨平台的运行环境。JVM的性能优化是提升Java应用效率的关键环节,涉及到内存管理、垃圾收集、线程调度等多个方面。** 一、JVM内存结构 1. *...

    Java线上故障排查方案.rar

    Java线上故障排查是每个Java开发者或运维人员必备的技能之一,尤其在生产环境中,快速定位并解决问题至关重要。本文将深入探讨Java线上故障排查方案,帮助你掌握一系列实用的方法和技术。 一、日志分析 1. 日志级别...

Global site tag (gtag.js) - Google Analytics