返回顶部
首页 > 资讯 > 后端开发 > JAVA >Java程序占用CPU过高排查
  • 681
分享到

Java程序占用CPU过高排查

jvmjstackPoweredby金山文档 2023-09-22 13:09:01 681人浏览 安东尼
摘要

使用 top 命令查看高CPU进程,执行命令后可以按 1 键查看各CPU 内核负载情况。CPU使用率主要看us、sy两个指标。 假设 10760 是一个高CPU的进程。 使用 top -H

  1. 使用 top 命令查看高CPU进程,执行命令后可以按 1 键查看各CPU 内核负载情况。CPU使用率主要看us、sy两个指标。

假设 10760 是一个高CPU的进程。

  1. 使用 top -H -p 查看 10760 的线程信息

top -H -p 10760

TIME列就是各个Java线程耗费的CPU时间。

  1. 以线程ID 10952的线程为例进行排查,将10952 转为16进制。后面排查日志时使用。

printf "0x%x\n" 10952

会得到10952的十六进制0x2ac8。

  1. jstack来输出进程ID 10760的堆栈信息,然后根据线程ID 10952的十六进制值0x2ac8 grep,如下:

jstack 10760 | grep 0x2ac8

可以看到CPU消耗在Mysql-cj-abandoned-connection-cleanup这个类的Object.wait()。具体可以去代码中查看这个方法的实现,排查问题。

  1. 除了第4步,也可以将当前进程的所有堆栈信息导出,下载下来再分析。

jstack -l 10760 >> jstacklog.txt

下载jstacklog.txt到本地,搜索 0x2ac8 ,可以看到更详细的堆栈信息。

  1. 总结

上面的几个步骤演示了jstack命令的使用,不是一个实际的问题排查记录。在实际问题排查中,可能要反复查询第2步中列出的多个线程,再根据程序代码情况,综合判断出问题所在。

来源地址:https://blog.csdn.net/weichao9999/article/details/129415720

--结束END--

本文标题: Java程序占用CPU过高排查

本文链接: https://lsjlt.com/news/415268.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • java 程序cpu占用过高排查
    1、top命令查看cpu占用最高程序 top 取得cpu占用最高的PID: 27791 2、判断java程序是直接运行在宿主机还是在容器中 方式一 cgroup cat /proc//cgroup 如果输出中包含有类似 /docker/...
    99+
    2023-09-20
    java
  • Java程序占用CPU过高排查
    使用 top 命令查看高CPU进程,执行命令后可以按 1 键查看各CPU 内核负载情况。CPU使用率主要看us、sy两个指标。 假设 10760 是一个高CPU的进程。 使用 top -H ...
    99+
    2023-09-22
    jvm jstack Powered by 金山文档
  • Oracle怎么排查CPU占用过高的排查
    本篇内容主要讲解“Oracle怎么排查CPU占用过高的排查”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle怎么排查CPU占用过高的排查”吧!  CPU...
    99+
    2024-04-02
  • 【Java高CPU占用排查步骤】
    Linux环境下 当Java应用程序在Linux系统上的CPU使用率达到100%时,可能会导致系统响应变慢,甚至无响应,影响应用程序的正常运行。下面是排查Java应用程序CPU使用率高的步骤: 1、使用top命令查看Java进程的CPU使用...
    99+
    2023-08-16
    java
  • Linux下如何排查占用CPU很高的Java程序
    这篇文章主要为大家展示了“Linux下如何排查占用CPU很高的Java程序”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下如何排查占用CPU很高的Java程序”这篇文章吧。jstack...
    99+
    2023-06-28
  • java程序cpu占用过高的原因是什么
    Java程序CPU占用过高的原因可能有多种:1. 代码问题:Java程序中可能存在大量的循环、递归或者重复计算等操作,导致程序运行时...
    99+
    2023-08-08
    java
  • arthas排查jvm中CPU占用过高问题解决
    目录安装 小试找出CPU的元凶查看线程栈的参数安装 小试 记一次使用arthas排查jvm中CPU占用过高问题。这工具屌爆了 碾压我目前使用的全部JVM工具。 curl -O htt...
    99+
    2024-04-02
  • Oracle实例占用超高CPU排查
    CPU主要功能:处理指令、执行操作、要求进行动作、控制时间、处理数据。 结合数据库实例CPU占用高,可能的原因是数据库在执行大量的操作(全表查询、大量排序等)。 由于公司没有DBA,遇到数据库问题只能自己排查。 一、是否存在死锁 ...
    99+
    2018-06-02
    Oracle实例占用超高CPU排查
  • 排查解决Java进程占用内存过高
    排查解决Java进程占用内存过高 1 在项目部署运行之前1 检查JVM参数设置2 检查代码逻辑3 使用内存分析工具4 检查线程5 调整应用程序的设计7 调整硬件资源 2 在项目部署运行之后 JVM图片来源 1 在项目部署运...
    99+
    2023-08-24
    JVM JVM内存模型 Java GC Java JVM Java 内存分析
  • MySQL占用CPU过高,排查原因及解决方案
    目录一、mysql中的wait_timeout坑1、第一种修改方式 需重启MySQL(6.5为例)2、第二种修改方式 不需重启MySQL(数据库重启就失效)二、排查有没有地方占用SQL资源过多其中state的状态十分关键...
    99+
    2022-12-22
    MySQL占用CPU MySQL占用CPU过高 MySQL占用CPU原因
  • qt程序cpu占用过高如何解决
    如果QT程序的CPU占用过高,有以下几种可能的解决方法:1. 优化算法和代码:检查程序中可能存在的性能瓶颈和低效的代码,尝试优化它们...
    99+
    2023-09-16
    qt
  • w3wp占用CPU过高
    判定方法:1 在任务管理器中增加显示 pid 字段。就可以看到占用内存或者 cpu 最高的进程 pid !2 在命令提示符下运行 iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到 pi...
    99+
    2023-01-31
    过高 w3wp CPU
  • Java进程内存占用过高,排查解决方法
    Java进程内存占用过高,排查解决方法 在Java应用程序开发过程中,我们经常会遇到Java进程占用内存过高的问题。这可能会导致系统性能下降、应用程序崩溃甚至无法启动。本文将介绍一些常见的排查和解决方...
    99+
    2023-10-20
    java 开发语言 Java
  • macOS mds_stores CPU占用过高
    当 macOS 的 mds_stores 进程占用过高的 CPU 使用率时,可能是由于 Spotlight 索引过程导致的。Spotlight 是 macOS 中用于搜索和索引文件的系统服务,而 mds_stores 是其索引进程之一。 以...
    99+
    2023-08-17
    macos
  • 排查WMI CPU使用率过高问题
    排查WMI CPU使用率过高问题的步骤如下:1. 确认问题:首先,确认系统的CPU使用率确实过高。可以通过任务管理器或性能监视器来查...
    99+
    2023-09-13
    CPU
  • NodeJs内存占用过高如何排查
    这篇文章给大家介绍NodeJs内存占用过高如何排查,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。问题起因最开始是因为一个定时功能上线后,线上的容器自动进行了扩容,由于 NodeJs 服务本身只有一些接口查询和 sock...
    99+
    2023-06-15
  • go语言程序cpu过高问题排查的方法详解
    目录一、前言二、问题排查过程2.1 通过top查看高cpu的进程pid2.2 通过top查看高cpu的线程tid2.3 通过dlv附加到进程,分析线程/协程cpu过载的堆栈2.4 在...
    99+
    2023-05-16
    go cpu占用高 go cpu过高排查 go性能分析工具
  • linux下cpu飙高原因排查过程详解
    目录前言开始步骤排查前言 cpu飙高是很常见的线上问题,这都不会的话,属实有点拉跨 兄弟萌不用慌,来我教你一套连招 开始 先来个项目,整个api,到时候我们请求/cpu/{count}就能手动拉高cpu,机智鬼~ ...
    99+
    2022-06-04
    linux系统cpu占用率过高
  • Linux系统CPU占用率较高问题排查思路
    作为工程师,在日常工作中我们会遇到 Linux服务器上出现CPU负载达到100%居高不下的情况,如果CPU 持续跑高,则会影响业务系统的正常运行,带来企业损失。 对于CPU过载问题通常使用以下两种方式即可快速定位: 方法一 第一步:使...
    99+
    2023-09-02
    linux 服务器 java Powered by 金山文档
  • 【Java】 服务器cpu过高如何排查和解决?
    文章目录 前言一、常见能够引起CPU100%异常的情况都有哪些?二、服务器CPU使用率飙升异常,黄金4步排查法三、排查 CPU 故障的常用命令四、什么场景会造成 CPU 低而负载确很高呢?五、...
    99+
    2023-09-01
    java 服务器 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作