服务器CPU高居不下,JAVA线程占用排查方式

 更新时间:2023年09月01日 14:25:45   作者:保护我方胖虎  
这篇文章主要介绍了服务器CPU高居不下,JAVA线程占用排查方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

服务器CPU高居不下,JAVA线程占用排查

排查Java进程中确定哪个线程正在占用CPU的时间。

详细步骤

1、首先确定进程的 ID 

可以使用 jps -v 或者 top 命令直接查看

jps -v

我们这里使用进程ID (PID) 11646

2、查看该进程中哪个线程占用大量 CPU

执行 top -H -p [PID]

结果如下:

top -H -p 11646

3、接下来我们将进程中的所有线程输出到一个文件中

执行:jstack [PID] > 文件名

 jstack 11646 > test-jstack.txt

4、在进程中查找对应的线程 ID

执行:cat 输出文件名 | grep -i 16进制线程号

假设我们想看编号为 5331这个线程,首先将 5331线程号转成 16 进制是 14d3

cat test-jstack.txt |grep -i 14d3

结果是:

找到问题!

JAVA高内存占用排查

1、查看java进程

#获取进程号
ps -ef|grep java

2、使用top命令查看内存占用

# 查看占用内存最多的线程
top -Hp 进程号

3、将线程号转为16进制

printf "%x\n" 线程号

4、使用jstack打印出当前线程的信息

jstack 进程号 | grep -20 线程16进制

5、使用jstack 将线程信息输出到文本

jstack -l 进程号 >> jstack.log

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java微信公众号推送模版消息的步骤示例详解

    Java微信公众号推送模版消息的步骤示例详解

    模板消息是一种向用户发送通知的服务,广泛用于订单状态更新、服务提醒等场景,下面,我将详细介绍如何使用Java结合微信官方提供的API来实现模板消息的推送,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • SpringBoot使用AOP实现统一角色权限校验

    SpringBoot使用AOP实现统一角色权限校验

    这篇文章主要介绍了SpringBoot如何使用AOP实现 统一角色权限校验,文中有详细的代码示例讲解和操作流程,具有一定的参考价值,需要的朋友可以参考下
    2023-07-07
  • SpringBoot项目中使用Sharding-JDBC实现读写分离的详细步骤

    SpringBoot项目中使用Sharding-JDBC实现读写分离的详细步骤

    Sharding-JDBC是一个分布式数据库中间件,它不仅支持数据分片,还可以轻松实现数据库的读写分离,本文介绍如何在Spring Boot项目中集成Sharding-JDBC并实现读写分离的详细步骤,需要的朋友可以参考下
    2024-08-08
  • Java探索之Hibernate主键生成策略详细介绍

    Java探索之Hibernate主键生成策略详细介绍

    这篇文章主要介绍了Java探索之Hibernate主键生成策略详细介绍,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • IntelliJ IDEA中查看当前类的所有继承关系图

    IntelliJ IDEA中查看当前类的所有继承关系图

    今天小编就为大家分享一篇关于IntelliJ IDEA中查看当前类的所有继承关系图,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • Java解除文件占用即Dom4j操作后实现xml关流

    Java解除文件占用即Dom4j操作后实现xml关流

    这篇文章主要介绍了Java解除文件占用即Dom4j操作后实现xml关流,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • JavaCV 本地视频推流实现依赖示例

    JavaCV 本地视频推流实现依赖示例

    这篇文章主要为大家介绍了JavaCV 本地视频推流实现的依赖示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • hashset去除重复值原理实例解析

    hashset去除重复值原理实例解析

    这篇文章主要介绍了hashset去除重复值原理实例解析,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • SpringBoot整合ES解析搜索返回字段问题

    SpringBoot整合ES解析搜索返回字段问题

    这篇文章主要介绍了SpringBoot整合ES解析搜索返回字段问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • SpringBoot中使用Redisson的实现示例

    SpringBoot中使用Redisson的实现示例

    Redission是一个强大的Java库,用于构建和管理分布式系统中的缓存和任务调度,本文主要介绍了SpringBoot中使用Redisson的实现示例,感兴趣的可以了解一下
    2023-12-12

最新评论