`
huoyanxueren
  • 浏览: 39540 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

寻找响应时间最长的线程

 
阅读更多

在排查一些load过载和CPU使用过高的情况,我们往往会去排查对应的JVM进程下所有线程的使用情况。到底是线程出现死锁,线程僵死,或者其他情况。但是有一个比较直观的,就是看哪个线程最耗时,他基本就是那个有问题的。

 

1、找出进程pid。 jps -v 或者ps aux| grep java都可以达成目的。


 

 

2、查看该进程下的所有线程。top -H -p 18919


 

top命令的功能比较强大。-H 是进程下的线程,-p 指定进程id。其他的功能可通过man top查看。

具体参照也可以参考这个文章,说明的不错。http://www.jb51.net/LINUXjishu/34604.html

 

 

3、选定最耗时线程。这里比如选定18919,转换成10进制表示。printf "0x%x" 18919


4、通过jstack输出目前的线程镜像。  jstack 18919 > 18919.txt

5、在线程镜像文件中查找0x49e7这个线程,查看线程的具体情况。


 nid如果对应的0x49e7,这个就是要找的耗时最长的线程了。目前的一系列问题就从这里重新解剖和分析了。

 

  • 大小: 10.9 KB
  • 大小: 35.9 KB
  • 大小: 5.4 KB
  • 大小: 70.4 KB
分享到:
评论

相关推荐

    易语言多线程获取网络时间

    本篇将详细讲解如何使用易语言实现多线程获取网络时间的功能,以及相关的知识点。 首先,我们要了解什么是网络时间。网络时间(Network Time Protocol,NTP)是一种协议,用于同步网络中的计算机时间。它通过互联网...

    线程监控工具,查找异常线程

    2. **收集信息**:使用监控工具获取当前的线程列表和它们的状态,寻找可能的线索,如长时间处于阻塞状态的线程。 3. **分析堆栈**:查看异常线程的堆栈信息,找出导致问题的关键代码行。 4. **定位原因**:分析代码...

    可并行递归算法的递归多线程实现

    通过对递归算法的多线程化,我们可以显著提高算法的执行速度和响应能力,尤其是在面对大规模数据集时。未来的研究方向可能包括进一步优化线程调度策略,减少线程间的通信开销,以及探索更多适合多线程化的递归算法。...

    易语言多线程数据库查询对比

    易语言,一种简洁而直观的中文编程语言,提供了实现多线程的能力,使得开发者可以同时执行多个任务,提高应用程序的响应速度。本主题将深入探讨"易语言多线程数据库查询对比"的相关知识点。 首先,我们要理解易语言...

    C# 多线程 打字游戏 附源码 适合新手

    例如,`Thread`类可以创建并启动新的线程,`Mutex`或`Semaphore`用于线程间的同步,防止数据竞争,而`Monitor`可以实现临界区保护,确保同一时间只有一个线程访问共享资源。 源码分析: 1. **线程创建与管理**:在...

    解析Windows XP 线程调度策略.docx

    - **优先级调整与线程选择**:如果用完时间配额的线程优先级被降低,系统将寻找一个更合适的线程(优先级高于当前线程)进入运行状态。如果优先级没有降低并且存在其他相同优先级的就绪线程,则会选择相同优先级队列...

    高并发线程配置建议-合理配置

    相反,对于IO密集型任务,如网络请求、文件读写等,大部分时间线程都在等待IO操作完成,而非执行计算。这时,配置线程池的大小为2倍的CPU核数(2*NCPU)较为合适。这样,在等待IO的过程中,CPU可以切换到其他线程...

    多线程搜索器delphi

    在计算机编程中,多线程是一种允许程序同时执行多个任务的技术,它可以显著提高系统的响应速度和资源利用率,特别是在处理耗时操作如文件搜索时。 在描述中提到,“多线程搜索器”实现了快速的文件搜索功能,这得益...

    Android线程问题.rar

    然而,由于Android系统对主线程执行时间的严格限制,长时间运行的任务(如网络请求、数据库操作或大量计算)必须放在其他线程中执行,以免阻塞UI更新,导致应用无响应(ANR)现象。 1. **线程的概念**:线程是程序...

    LabWindows™CVI中的多线程技术 - National Instruments.pdf

    对于想要深入了解多线程编程技术的开发者来说,可以从以下几个方面寻找资源: 1. **官方文档**:LabWindows/CVI的官方文档提供了详尽的多线程编程指南和技术说明。 2. **社区论坛**:加入LabWindows/CVI的社区论坛...

    多线程扫描网段内可用IP

    "多线程扫描网段内可用IP"是一个这样的过程,它利用多线程技术提高扫描速度,有效地遍历指定网络接口(网卡)所在网段内的所有可能IP地址,寻找活动的主机。这一技术尤其适用于大型网络环境,可以快速地获取网络拓扑...

    VB的A*多线程例子

    在这个VB的A*多线程例子中,开发者尝试将这两个概念结合起来,以便在寻找最短路径时利用多线程的优势。 1. **A*算法**:A*算法是Dijkstra算法的一种改进,引入了启发式函数来估算从起点到目标点的最优路径。它结合...

    VB.NET多线程编程技术--大量提高应用程序的性能[收集].pdf

    VB.NET多线程编程技术是一种提高应用程序性能的关键手段,尤其对于时间密集型或处理密集型的任务,它能够显著提升程序响应速度和资源利用效率。在VB.NET中,多线程编程主要依赖于`.NET框架`中的`System.Threading`...

    一个多线程实现的ftp扫描程序

    6. **速度和延迟测试**:评估FTP服务器的响应时间和上传/下载速率。 在提供的【压缩包子文件的文件名称列表】中,`ftpcheck.pl`很可能是一个Perl语言编写的FTP扫描脚本。Perl是一种强大的文本处理和脚本编程语言,...

    多核系统线程调度算法的研究.doc

    接着,论文详细阐述了多核系统线程调度的重要性以及存在的挑战,包括如何确保公平性、响应时间和系统整体效率。多核系统线程调度模型被用来描述这个问题,该模型考虑了线程的优先级、亲和性、负载均衡等因素。 论文...

    第5章 内核线程1

    调度算法包括轮转调度、优先级调度等,不同的调度策略会影响系统的响应时间、公平性和吞吐量。 本章的作业部分,如Assignment 1和2,着重于位图的实现,让学生理解如何利用位图进行内存分配。Assignment 3则可能...

    端口扫描器,可扫描ip下所有端口开放情况,支持多线程

    5. 查看扫描结果,包括开放端口、服务标识和响应时间等信息。 五、安全注意事项 使用端口扫描器时,必须遵守法律法规,尊重他人的隐私权。未经授权的端口扫描可能被视为非法入侵,并可能导致法律诉讼。因此,确保在...

    多线程网段扫描

    这种技术常用于网络安全审计、系统管理员排查网络问题或者安全研究人员寻找潜在的漏洞。 【描述】:多线程扫描(含源码) 多线程扫描技术结合了并行处理的概念,通过创建多个线程同时对网络上的不同IP地址进行探测...

Global site tag (gtag.js) - Google Analytics