首页 > 系统相关 >Java应用内存溢出排查

Java应用内存溢出排查

时间:2023-08-03 15:33:06浏览次数:43  
标签:快照 PID 排查 线程 内存 Java ID

Java应用 内存溢出&CPU占满 排查

  • 1.获取异常进程ID
top -m
  • 2.保存堆快照
jmap -dump:format=b,file=/data/logdir/dump.hprof [PID]
  • 3.观察GC状况
# 采样10次(2秒/次)后结束, 5行1组输出
jstat -gcutil -t -h5 [PID] 2s 10
  • 4.获取进程内线程详情, 观察异常线程ID
top -Hp [PID]
  • 5.根据线程id的16进制过滤出JVM线程, 大致得知是哪块线程出问题
jstack 进程ID | grep (`printf '%x' 线程ID`)
  • 6.利用EclipseMemoryAnalyzer分析, 导入堆快照, 选择 Leak Suspects, 查看问题对象

  • 7.利用Jdk自带JavaVisual导出快照后找到对应的类实例, 右键显示最近的垃圾回收根节点后选中实例右键在线程中显示, 定位对象产生代码段。

标签:快照,PID,排查,线程,内存,Java,ID
From: https://www.cnblogs.com/longkang/p/17593304.html

相关文章

  • Filter内存马及工具检测
    原理Servlet有自己的过滤器filter,可以通过自定义的过滤器,来对用户的请求进行拦截等操作。经过filter之后才会到Servlet,那么如果我们动态创建一个filter并且将其放在最前面,我们的filter就会最先执行,当我们在filter中添加恶意代码,就会进行命令执行,这样也就成为了一个内......
  • java进程占用系统内存高,排查解决 _
    java进程占用系统内存高,排查解决_ 故障:今天许多开发反馈测试平台卡,访问不了,第一感觉判断是服务器内存爆了,或者cpu占用过高,上服务器看了一下,确实是内存爆了。然后开始定位问题原因,因为阿里这边安全的原因,具体的图片就不方便上传了,拿网上的图来说 使用top命令查看......
  • 老杜 JavaWeb 讲解(十八) ——项目优化(Servlet+JSP+EL+JSTL)
    (十六)项目优化(Servlet+JSP+EL+JSTL)相关视频:55-EL表达式JSTL和base标签改造OA新旧代码对比:注意点:Java代码不需要改动,只需要更改jsp代码。将需要的包导入:jakarta.servlet.jsp.jstl-2.0.0.jarjakarta.servlet.jsp.jstl-api-2.0.0.jarmysql-connector-j-8.0.31.j......
  • 深入浅出RxJava (四:在Android中使用响应式编程)
    [url=http://blog.danlew.net/2014/10/08/grokking-rxjava-part-4/]原文链接[/url]在第1,2,3篇中,我大概介绍了RxJava是怎么使用的。下面我会介绍如何在Android中使用RxJava.RxAndroidRxAndroid是RxJava的一个针对Android平台的扩展。它包含了一些能够简化And......
  • Linux下安装Java环境三种方式(tar.gz、rpm、yum)
    一:Java软件包下载Java各版本下载地址;进入页面后我们首先看到的是Java最新版本的下载界面,但是在这我需要下载Java8的版本,所以得划到下面的界面,即界面如下:在这里我将下载:jdk-8u381-linux-x64.tar.gz(压缩包方式安装)、jdk-8u381-linux-x64.rpm(RPM方式安装)注:在下载界面的下面......
  • JavaScript ES5模块导入ES6区别
    JavaScriptES5模块导入ES6区别   ES6引入了原生的模块系统,使用import和export关键字来导入和导出模块。ES6模块系统相比ES5的导入方法具有以下几个区别: 1.语法不同:-ES5:使用Require.js或CommonJS,通过`require`方法导入模块。-ES6:使用import关键字导入模块。 2......
  • C#调用Java MD5加密 转换成base64编码
    publicbyte[]GetUTF8(stringcontent){byte[]bytes=Encoding.UTF8.GetBytes(content);returnbytes;}publicbyte[]GetHash(byte[]sources){MD5CryptoServiceProviderMD5CSP=newMD5CryptoS......
  • Linux:安装Java以适配tomcat
    学习自:Tomcatv8.5.82搭建_幼儿园的扛把子!!的博客-CSDN博客怎样查看和tomcat对应匹配的最低jdk版本-百度经验1、查看tomcat适配的Java版本tomcat官网https://tomcat.apache.org/download-80.cgi,点击whichversion 我下载的tomcat是8.5.52,可以看到最后一列,支持的Java版本为......
  • c的内存管理
    C的内存管理C语言为内存的分配和管理提供了几个函数。这些函数可以在<stdlib.h>头文件中找到。在C语言中,内存是通过指针变量来管理的。指针是一个变量,它存储了一个内存地址,这个内存地址可以指向任何数据类型的变量,包括整数、浮点数、字符和数组等。C语言提供了一些函数和运......
  • JavaScript学习 -- RSA算法应用实例及公钥私钥的生成方法
    正文:RSA算法是一种非对称加密算法,用于加密、解密和数字签名等场景。本文将介绍如何在JavaScript中使用RSA算法,并提供一个实际的案例,同时也会说明如何生成公钥和私钥。首先,确保您已经引入了jsencrypt库。以下是一个使用RSA算法进行加密和解密的示例,同时也包含了公钥和私钥的生成方法......