`
bluethinking
  • 浏览: 3693 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

java CPU占用太高问题跟踪

阅读更多

 

1. top命令查看占用CPU最高的进程id

 

这里进程22514占用CPU最高。

 

2.top -p 22514命令,然后shift + h开启线程显示,查看哪个线程CPU占用最高。(需要等待几分钟等结果稳定后较准确)

 

线程22823占用cpu最高。

3.printf "%x\n" 22823命令获得线程id的十六进制数:5927

 

4.jstack 22514 | grep -A 30 "nid=0x5927"命令查看线程的情况。

 

根据线程情况去查看所在行的代码逻辑,是否有问题导致CPU太高,如果命令执行一次没有定位到业务代码,可以多次执行,则可以看到线程有时候在等待锁,有时候在运业务逻辑代码等,具体看情况。

  • 大小: 18.7 KB
  • 大小: 26.5 KB
  • 大小: 11.7 KB
分享到:
评论

相关推荐

    java进程占用CPU和内存太高问题排查相关测试文件.zip

    当Java进程CPU占用率过高时,可能的原因包括无限循环、线程阻塞、计算密集型任务或垃圾回收问题等。`44974.stack`文件很可能包含了Java线程堆栈跟踪,通过分析这个文件,我们可以看到各个线程的状态和它们正在执行...

    java闹钟,自己学习java的练习做

    - **CPU占用率**:CPU占用率高可能是由于频繁的任务调度或者未优化的代码导致的。这需要检查是否存在不必要的循环、阻塞线程或资源泄露,并进行优化。 学习和实践这样的项目有助于理解Java的并发、时间处理和用户...

    解决火狐浏览器占用资源大、启动慢问题方法

    解决 CPU 占用率高、打开网页停顿的问题的方法很简单,只需要在 Firefox 中禁用 Java 即可。具体操作步骤如下: 1. 打开 Firefox 浏览器,点击“工具”菜单,然后选择“选项”。 2. 在“选项”窗口中,选择“内容”...

    Large-File-Processing-master_javanio_java大文件处理_

    10. **性能监控与调试**:在实际应用中,需要监控NIO操作的性能,例如CPU使用率、内存占用、I/O吞吐量等,以便找出性能瓶颈并进行优化。 综上所述,“Large-File-Processing-master_javanio_java大文件处理_”项目...

    大话JAVA性能优化

    - 不合理的线程使用:如线程过多导致上下文切换频繁,线程太少又可能造成CPU资源浪费。 - 数据结构和算法效率:选择的数据结构与算法直接影响程序性能。 #### 代码优化策略 - 循环优化:减少循环内部的运算量,避免...

    Java聊天室程序源码(毕业设计)

    具有速度快,高稳定性,占用系统资源少,用户界面友好等特点。 通过毕业设计,发现自己在理论研究和实际工作能力等方面都得到了提高,受益匪浅。同时在老师的指导和课题组同学的共同帮助下,及时总结研究成果,这些...

    1.Java分布式与微服务实战\多线程与分布式\第1节 线程池

    2. 过多的线程会占用太多内存:如果线程池中的线程数量过多,将会占用太多的内存资源。 线程池的解决思路 1. 用少量的线程避免内存占用过多。 2. 让这部分线程都保持工作,且可以反复执行任务,避免生命周期的损耗...

    java jstat 查看哪个进程频繁GC垃圾回收

    如果`YGC`或`FGC`的值过高,或者`YGCT`和`FGC`的总和占用了大量CPU时间,可能意味着进程在频繁进行垃圾回收,需要进一步分析原因。 开启GC日志是另一种诊断GC问题的有效方式。在启动Java应用时,添加以下JVM参数: ...

    太细了,堪称完美总结:“Java性能调优六大工具”之Windows工具(csdn)————程序.pdf

    例如,通过监控Process、Processor和Thread等对象,可以找出Java应用程序中消耗CPU资源最多的线程,这对于问题定位和性能调优至关重要。 以`HoldCPUMain`程序为例,用户可以配置perfmon来监控Java.exe进程中的所有...

    优秀的Java程序员必须了解GC的工作原理

    了解GC的工作原理对于优化Java程序至关重要,尤其是在那些对性能有着极高要求的应用场景中,如嵌入式系统或实时系统。下面我们将详细介绍GC的基础知识。 Java内存管理主要涉及对象的分配与释放。当创建新对象时,...

    Java用于嵌入式系统的局限-java技术在嵌入式系统中的应用下载后可任意编辑.docx

    对于某些对 CPU 性能依赖不高的嵌入式系统而言,这一劣势可能不太明显;但对于大多数需要高速响应的应用场景,Java 的低性能则可能导致不可接受的延迟。 **解决方案** 1. **升级处理器**:采用更强大、速度更快的...

    java面试题及答案

    2. **垃圾回收机制**:Java的垃圾回收机制自动管理内存,它可以识别不再使用的对象并释放其占用的内存。Java中的垃圾回收器有多种实现,如串行收集器、并行收集器、CMS收集器和G1收集器等,它们各有特点,适用于不同...

    Java认证J2ME游戏开发的高级优化技巧.docx

    3. **查看报告**:退出程序后,Profiler会自动生成报告,显示各个函数的执行时间和占用CPU的百分比。 4. **定位瓶颈**:根据报告找出占用CPU时间最长的函数,这些函数通常是优化的重点。 #### 七、结论 在J2ME游戏...

    Java30道面试题及答案

    通过释放空闲时间较长的数据库连接避免数据库因为创建太多的连接而造成的连接遗漏问题,提高了程序性能。 在Java中,io流分为哪两种?按功能来分输入流(input)、输出流(output);按类型来分字节流、字符流。常用io...

    Java并发编程面试题合集

    饥饿是指线程因为优先级太低或资源始终被其他线程占用,导致迟迟得不到执行的情况。 线程组是一组相关线程的集合,在Java中不推荐使用,因为它们在管理上存在问题,例如无法统一终止线程组中的所有线程。而Executor...

    大型网站架构-高性能网站架构

    lighttpd 是一个更轻量级的 Web 服务器,具有非常低的内存开销、低 CPU 占用率、好效能和丰富的模块支持等特点。这让它在短时间内占据了 14%以上的市场份额。依靠 gentoo 的高度定制化,我们还可以进一步提升 lighty...

    JAVA性能调优 – 概述

    2. CPU占用时间:反映了程序对处理器资源的需求程度。 3. 内存分配:查看程序运行时的内存消耗。 4. 磁盘吞吐量:度量磁盘读写速度,对I/O密集型应用尤其重要。 5. 网络吞吐量:衡量网络传输数据的能力。 6. 响应...

    Oracle10g数据库自动诊断监视工具

    2. **资源消耗**:它能找出CPU消耗高的Top SQL语句,IO带宽占用高的对象,以及潜在的IO问题。在RAC环境下,它还可以识别内部通讯问题。 3. **PL/SQL和JAVA执行**:按执行时间排列的Top SQL语句,尤其是那些由PL/SQL...

    loadrunner结果分析(内存、GC、was、sql等以及对应工具下载)借鉴.pdf

    可以使用工具(如 pslist 和 process explorer)查看 Java 进程的详细信息,找出占用 CPU 用户时间过多的线程。通过 jconsole 或生成 thread dump 文件,进一步分析 CPU 高负载的原因。 2. **垃圾收集(GC)调优**...

Global site tag (gtag.js) - Google Analytics