首页 > 系统相关 >java内存问题排查

java内存问题排查

时间:2023-07-10 19:45:55浏览次数:46  
标签:输出 使用率 java dump 排查 XX 内存 txt

1. 查看进程

  输入:jps -v

  输出:1 jar -Xms2g -Xmx2g -XX:SurvivorRatio=4 -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:MaxDirectMemorySize=256M -Dfile.encoding=UTF-8 -Duser.timezone=GMT+08

  可以查看机器上的java进程,1 是进程ID,jar 是进程名称,后面是一些启动参数

 

2. 保存栈信息

  输入:jstack -l 1 >> /usr/local/1-jstack.txt

  输出:1-jstack.txt

  可以查看ID为 1 的进程的堆栈快照(如下图)。可以看到所有线程的名称和状态,可以看出是否有死锁。  

        

 

3. 输出dump文件

  输入:jmap -F -dump:live,format=b,file=/usr/local/1-dump.bin 1

  输出:1-dump.bin

  会将jvm的堆内存信息保存到二进制dump文件中。可以使用MAT 工具打开dump文件,分析内存情况。

 

4. 简单输出类对象占用内存大小排序(按占用内存从大到小)

  输入:jmap -histo 1 >> ./1-histo.txt

  输出:1-histo.txt

  按类对象占用内存空间总量从到大小的排序,还包括实例数,如下图:

        

 

5. 查看堆内存配额及使用率

  输入:jmap -heap 1

  输出:各个内存区域的配额和使用率

        

 

6. 本地实时监控

  本地模拟重现的时候,可以使用jdk插件 VisualVM,实时查看cpu使用率、内存使用量和使用率、线程数量等趋势

 

标签:输出,使用率,java,dump,排查,XX,内存,txt
From: https://www.cnblogs.com/coding-one/p/17542079.html

相关文章

  • java串口通信
    java串口通信importjava.io.*;importjava.util.*;importgnu.io.*;publicclassSerialTestimplementsSerialPortEventListener{SerialPortserialPort;//串口名称privatestaticfinalStringPORT_NAME="/dev/ttyUSB0";//波特率priv......
  • JAVA集成velocity实现对已有模板替换(占位符变量)替换
      平时我们如果有一些简单的模板替换需求,比如有个txt文件,或者代码生成模板文件要根据传入的变量替换成具体的值就可以使用这个框架 依赖<dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId>......
  • java类和对象学习总结
    当一个引用赋值为null的时候,就代表这个引用不指向任何的对象引用不能指向引用,只能说引用指向了另一个引用的对象.一个引用不能指向多个对象this引用的学习:代表的是当前对象的引用,每一个成员方法的第一个参数默认是thisthis.year this.month   加上this代表给当前的对象......
  • JavaScript加密:常见加密种类、优缺点和代码示例
    当涉及到JavaScript加密时,有多种加密算法和技术可供选择。下面我将列举一些常见的加密种类、它们的优缺点,并提供一些代码案例作为参考。对称加密算法:对称加密算法使用相同的密钥进行加密和解密。常见的对称加密算法包括AES(AdvancedEncryptionStandard)和DES(DataEncryptionS......
  • Java实现浏览器端大文件分片上传实例
    ​ 上周遇到这样一个问题,客户上传高清视频(1G以上)的时候上传失败。一开始以为是session过期或者文件大小受系统限制,导致的错误。查看了系统的配置文件没有看到文件大小限制,web.xml中seesiontimeout是30,我把它改成了120。但还是不行,有时候10分钟就崩了。同事说,可能是客户这里......
  • 面试进阶齐飞!Github一天万赞的阿里Java系统性能优化有多牛?
    前两天在知乎上看到一个问答,说的是:一个Java程序员具备什么样的素质和能力才可以称得上高级工程师?这个问题也引发了我的一些思考,可能很多人会说,“作为高级工程师,基础得过硬、得熟练掌握一门编程语言、至少看过一个优秀开源项目的源代码、有过高并发/性能优化的工作经验、沟通能力......
  • java判断json格式的方法
    ​  在Java中,您可以使用不同的库来检查和验证JSON。以下是使用两个常用的JSON库(Jackson和Gson)来检查JSON的示例代码:使用Jackson库:importcom.fasterxml.jackson.core.JsonParseException;importcom.fasterxml.jackson.databind.JsonNode;importcom.fasterxml.jack......
  • java判断json格式的方法
    ​   在Java中,您可以使用不同的库来检查和验证JSON。以下是使用两个常用的JSON库(Jackson和Gson)来检查JSON的示例代码:使用Jackson库:importcom.fasterxml.jackson.core.JsonParseException;importcom.fasterxml.jackson.databind.JsonNode;importcom.fasterxml.ja......
  • Linux_硬盘和文件系统_操作步骤和排查方式
    -技术背景DRIVEOrin™的AI计算与完整传感器套件-提供每秒254TOPS(万亿次运算)DRIVEAtlanDRIVEThor-计划于2025年开始量产2000万亿次浮点运算性-MobileyeEyeQ51.操作系统车端--EXTLINUXisaSyslinuxvariantwhichbootsfromaLinuxfilesystem.###操作......
  • 七月十日Java学习
    今天学习了如何循环的具体使用,并学习了如何生成一定范围的随机数。    ......