`

linux 下查看 java 程序中线程占用cpu

 
阅读更多

 1.  top 查看 java 的  pid   例如   15981

 2.  shift + H  能查看 哪个线程占用的最高 比如16020 (或者 用  top -H -p 15981 也能查看出哪个线程占用最高)

 3.  jstack -l 15981 > js.log 

 4.  把 16020 转换成 16进制   3E94  (printf "%x" 16020)

 5.   vim 或者 cat js.log     查找到  3E94 (vim 进去后 按键盘上 ?号键 然后输入 3E94) 那里 即可知道是哪块代码 有问题 

分享到:
评论

相关推荐

    linux下查看java进程下线程占用cpu情况

    通过以上方法,你可以深入了解Linux下Java进程及线程对CPU的占用情况,从而进行问题定位和性能优化。在实际操作中,通常会结合多个工具和方法,以便从不同角度全面分析。记得,持续监控和分析是找出问题的关键。

    linux服务器找到占用cpu高的java代码的办法

    在Linux服务器环境中,Java应用程序可能由于各种原因导致CPU使用率过高,这可能会影响系统的整体性能。要找到占用CPU高的Java代码,我们可以采取一系列步骤来诊断和优化问题。以下是一种详细的方法: 1. **查看系统...

    用java获取CPU占用率

    首先,Java程序需要识别运行的操作系统类型,因为不同的操作系统(如Windows和Linux)提供了不同的API或系统调用来访问CPU占用信息。在提供的代码示例中,`System.getProperty("os.name")`用于获取操作系统名称,...

    java监控linux cpu使用率

    本文将深入探讨如何使用Java来实现Linux下的CPU使用率监控。通过理解这个主题,开发者可以更好地掌握系统性能,及时发现并解决问题,确保服务的稳定运行。 首先,我们需要了解Linux系统中CPU使用率的基本概念。CPU...

    CPU占用高

    这有助于我们识别占用CPU资源最多的程序。 2. **恶意软件检查**: 高CPU占用有时可能由病毒、木马或恶意软件引起。运行反病毒扫描并确保操作系统和所有软件的更新是最新的,可以防止这类问题。 3. **系统服务与...

    Linux中使用Shell脚本查看Java线程的CPU使用情况

    线上Java应用,在业务高峰期的时候经常出现CPU跑高,需要查看实时的线程占用cpu情况,下面是一个很好用的脚本,可以快速导出每个线程的占用CPU情况,结合jstack日志,排查到具体的线程类名。 一、首先获得jvm的进程...

    教你找出 运行java项目,使cpu 100%,如何排查出是哪个jar包的哪个线程导致的

    在Java开发过程中,有时会遇到项目运行时CPU占用率达到100%的问题,这可能是由于某个线程的无限循环、阻塞或者资源消耗过大导致的。以下是一套详细的排查步骤来帮助你找出是哪个jar包的哪个线程造成了这个问题。 ...

    控制cpu的占用率

    例如,如果发现某个进程占用CPU过高,可以通过阅读其源码,优化相关函数或算法,降低CPU消耗。 至于【压缩包子文件的文件名称列表】中的"cpu占用时间",这可能是某种日志文件或性能测试数据。通过分析这些数据,...

    jProfiler7 java内存分析 linux版本

    它专为开发者设计,帮助他们在Linux环境中深入理解并优化Java应用程序的内存使用情况。本篇文章将详细探讨jProfiler7在Java内存分析上的核心功能、使用方法以及在Linux环境中的配置和应用。 1. **内存分析概述** -...

    java引起的linux服务器性能问题查找

    1. **获取线程ID**:在top命令中找到高CPU占用的线程后,记录下该线程的PID(进程ID)。 2. **导出线程堆栈**:接下来,使用`jstack`工具来获取该线程的堆栈信息。例如,如果目标线程所在的进程ID为1117,则可以执行...

    JVM---jstack分析Java线程CPU占用,线程死锁的解决

    4. **分析线程状态**:使用文本编辑器或专用工具(如Windows下的ProcessExplorer)查看生成的`cpu.txt`文件,找到CPU占用高的线程,分析其状态和调用堆栈,定位到引起高CPU占用的方法。 ### 分析线程死锁 线程死锁...

    java检测程序系统

    在本系统中,JFreeChart可能被用来将监控到的系统数据可视化展示,如CPU使用率曲线图、内存占用饼状图或者网络流量柱状图等。通过这些直观的图表,用户可以快速了解系统资源的动态变化,对系统性能有更深入的理解。 ...

    检测CPU、内存、网速、线程的工具

    一种常用的CPU监控工具是`Task Manager`(任务管理器),在Windows系统中,用户可以通过它查看各个进程的CPU占用情况。此外,开源工具如`Gnome System Monitor`(Linux)和`Activity Monitor`(Mac OS)也是不错的...

    JAVA分析进程占用过大原因

    本文将基于提供的信息,详细介绍如何在Linux环境下诊断并解决JAVA进程CPU占用率过高的问题。 #### 一、识别问题所在 1. **查看系统整体状况**:首先通过`top`命令来获取系统当前的整体状态,包括CPU使用情况、内存...

    CPU 高消耗排查

    - 通过这种方式,我们可以发现某个进程内部哪个线程占用CPU最高,比如这里发现PID为5159的线程占用非常高。 #### 三、使用`jstack`进行线程堆栈分析 1. **`jstack`工具简介** - `jstack`是Java自带的一个诊断工具...

    show-busy-java-threads-jvm-cpu.rar

    `show-busy-java-threads.sh` 文件提供了一个实用的脚本,帮助我们查看那些导致Linux系统CPU占用率升高的Java线程。 首先,让我们了解什么是JVM。JVM(Java Virtual Machine)是Java程序的运行环境,它负责解释和...

    嵌入式linux的Java虚拟机分析与设计

    在嵌入式Linux系统中,Java虚拟机(Java Virtual Machine, JVM)扮演着至关重要的角色。它使得开发者能够利用Java语言编写程序,并在各种硬件平台上运行,实现了“一次编写,到处运行”的目标。本篇文章将深入探讨...

    一次因Java应用造成CPU过高的排查实践过程

    在大多数情况下,CPU高负荷往往是由于程序中的逻辑错误,如死循环,导致CPU资源无法得到释放。文章中提到的案例就是一个典型的例子:服务器上的一个Java应用(在Tomcat容器中运行)在重新部署时,由于未正确终止...

Global site tag (gtag.js) - Google Analytics