linux上如何排查JVM内存过高?

怎么排查JVM内存过高?

前言:

想必工作一两年以后的同学都会逐渐面临到,jvm等问题,但是可能苦于无法熟练的使用一些工具;本文将介绍几个比较常用分析工具的使用方法,带着大家一步步定位分析问题。

1、top 查看进程

`

我们来看pid 16160 这个进程占用资源相对来说较高

2、top -Hp pid 查看指定进程下线程

在这里插入图片描述

其实到这一步,我们已经进一步缩小了排查范围了,从如上图所示,我们可以知道,线程22652是一个java的定时任务线程,以及我们资源占用较多的java子线程。

到达这一步我们现在有很多工具可以去详细定位了,介绍几个我平常用的比较多的吧

3,jstack

把16进制转一下10进制

因为Java线程文件中的线程ID是16进制,所以需要将线程PID 从十进制转换成十六进制
命令:
echo "obase=16;161633" | bc
然后转换后输出: 3F23
最后执行 jstack 3F23
如下图已经详细打印了堆栈,自己可以去分析了。

在这里插入图片描述

4,Arthas

这是一个我之前写的jvm分析工具,阿里巴巴的,可以挪步,我个人觉得这个工具更爽
Arthas:https://blog.csdn.net/qq_38420688/article/details/109166153

5,jconsole

6,最后兜底

可以在服务启动的时候加入参数控制系统oom时输出堆栈,便于我们定位问题: -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/**.hprof

参考如下命令:

nohup  java -Xms1024m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/xxx.hprof -jar xxx.jar > info.log &

7,最后奉上大招

一个我也很喜欢用的工具,有些时候可能有些电脑没有环境,无法用自带的分析工具,这个在线的工具就派上用场了。

HeapHero :https://heaphero.io/index.jsp

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/6580.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uni-app 从vue3项目创建到Pinia管理数据全局使用 持久化存储数据 详细教程

一、创建uni-app项目 1. 安装HBuilder X,下载地址:https://www.dcloud.io/hbuilderx.html 2. 打开HBuilder X,点击左上角的“文件”->“新建”->“项目”,选择“uni-app”项目模板,填写项目名称和项目路径&…

从 Word 文档中提取所有的有效 JSON 对象(包含跨段落)

文章目录 一、概述二、代码 一、概述 从 word 中提取所有有效 json (包含跨段落的 json)。 二、代码 """ 从 Word 文档中提取所有的 JSON 对象 """from docx import Document import jsondef extract_json_from_docx(d…

springmvc下

第二类初始化操作 multipartResolver应用 localeResolver应用 themeResolver应用 handlerMapping应用 handlerAdapter应用 handlerExceptionReslver requestToViewNameTranslator应用 viewResolver应用 flashMapManager应用 dispatcherServlet逻辑处理 processRequest处理web请…

目标跟踪—卡尔曼滤波

目标跟踪—卡尔曼滤波 卡尔曼滤波引入 滤波是将信号中特定波段频率滤除的操作,是抑制和防止干扰的一项重要措施。是根据观察某一随机过程的结果,对另一与之有关的随机过程进行估计的概率理论与方法。 历史上最早考虑的是维纳滤波,后来R.E.卡…

相差8小时:时区设置导致docker中的openGauss时间问题

文章目录 (一)问题(二)解决(2.1)确认服务器时间(2.2)确认和修改docker时间(2.2.1)失败的尝试(2.2.2)成功的尝试 (2.2&…

OpenCV特征检测

1. 特征检测的基本概念 特征检测是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征检测的结果是把图像上的点 分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。 …

【C语言】分支和循环(上)

【C语言】分支和循环(上) 1、if语句1.2 else1.3分支中包含多条语句1.4嵌套if1.5悬空else问题 2、关系操作符3、条件操作符4、逻辑操作符:与、或、非(取反)(&&,||,&#xff0…

小猪APP分发平台 – 掌握移动应用的推广新途径

在移动互联网高速发展的背景下小猪APP分发平台 – 掌握移动应用的推广新途径,app分发已成为开发者和企业关注的重点。小猪APP分发平台作为行业内的新星小猪APP分发平台 – 掌握移动应用的推广新途径,提供了一个创新且高效的方式帮助开发者推广他们的应用…

attr 与prop 的区别

在前端开发中,attr 和 prop 是两个常用的方法,用于操作 HTML 元素的属性和属性值。 它们之间的区别主要在于针对不同类型的属性操作。 attr(): attr() 是 jQuery 中用来获取或设置 HTML 元素的属性的方法。它可以用于获…

ZOC8 for Mac v8.08.1激活版:卓越性能的SSH客户端

在远程连接和管理的世界中,ZOC8 for Mac以其卓越的性能和丰富的功能,成为了众多专业人士的首选SSH客户端。它支持SSH1、SSH2、Telnet、Rlogin、Serial等多种协议,让您轻松连接到远程服务器。ZOC8拥有简洁直观的界面和强大的功能设置&#xff…

SQL 基础 | JOIN 操作介绍

在SQL中,JOIN是一种强大的功能,用于将两个或多个表中的行结合起来,基于相关的列之间的关系。 JOIN操作通常用在SELECT语句中,以便从多个表中检索数据。 以下是几种基本的JOIN类型以及它们的用法: INNER JOIN&#xff1…

STM32 串口IDLE接收空闲中断+DMA

参考 http://t.csdnimg.cn/fAV38 1.基础知识 STM32 IDLE 接收空闲中断 功能: 在使用串口接受字符串时,可以使用空闲中断(IDLEIE置1,即可使能空闲中断),这样在接收完一个字符串,进入空闲状态时&…

力扣39(组合总和)

解题思路&#xff1a;没有什么特殊的&#xff0c;按照递归三部曲确定返回值与参数&#xff0c;确定终止条件&#xff0c;确定单层循环的逻辑就可以解出来 代码实现&#xff1a; class Solution { public: vector<vector<int>>result; vector<int>path; vo…

(三)Appdesigner-界面转换及数据导入和保存

提示&#xff1a;文章为系列文章&#xff0c;可以在对应学习专栏里面进行学习。对应资源已上传 目录 前言 一、Appdesigner是什么&#xff1f; 二、界面切换 三、数据导入及保存 &#xff08;一&#xff09;数据导入 &#xff08;二&#xff09;数据保存 总结 前言 Appd…

ubuntu搭建kms服务器

1.下载kms开源包(如果提示找不到wget命令的话:apt install wget): wget https://github.com/Wind4/vlmcsd/releases/download/svn1111/binaries.tar.gz2.解压: tar -xzvf binaries.tar.gz接着cd 进入 Linux/intel/static/ 文件夹下: 3.选择对应的文件&#xff0c;这里我们选…

C++:继承-继承权限

在C中&#xff0c;类的权限分为公有、私有和保护三种。这些权限控制了类的成员&#xff08;数据成员和成员函数&#xff09;对外部代码的可见性和访问性。 公有&#xff08;public&#xff09;权限&#xff1a; 在公有权限下声明的成员可以被类的外部代码直接访问&#xff1b;公…

第十篇:深入文件夹:Python中的文件管理和自动化技术

深入文件夹&#xff1a;Python中的文件管理和自动化技术 1 文件系统基础操作 在今天的技术博客中&#xff0c;我们将深入探讨Python中的文件系统基础操作。文件系统对于任何操作系统都是不可或缺的组成部分&#xff0c;它管理着数据的存储、检索以及维护。Python通过其标准库中…

【Linux 进程】 自定义shell

目录 关于shell 1.打印提示符&&获取用户命令字符​编辑 2.分割字符串 3.检查是否为内建命令 cd命令 export命令 echo命令 1.输出最后一个执行的命令的状态退出码&#xff08;返回码&#xff09; 2.输出指定环境变量 4.执行外部命令 关于shell Shell 是计算机操…

QGraphicsView实现简易地图8『缓存视口周边瓦片』

前文链接&#xff1a;QGraphicsView实现简易地图7『异步加载-多瓦片-无底图』 前7篇的地图加载&#xff0c;都采用最少瓦片数量的算法&#xff0c;即用最少数量的瓦片覆盖视口&#xff0c;以获得最快的加载速度。但是这样会带来一个问题&#xff0c;那就是每当移动地图时&#…

代理ip的用途及是否可以降低延迟

代理IP具有广泛的应用领域&#xff0c;包括但不限于以下方面&#xff1a; 1. 匿名浏览和隐私保护 通过使用代理IP&#xff0c;您可以隐藏自己的真实IP地址&#xff0c;从而在网络上保持匿名。这对于维护个人隐私和保护个人身份非常重要。 2. 访问限制网站 代理IP可以绕过地理位…