`

(转)简单的 Linux下的CPU性能瓶颈分析

 
阅读更多
http://www.taobaotest.com/blogs/2508



Linux下的CPU性能瓶颈分析
以夕 发表于:2013-09-29 浏览:2455次 评论:0次 所属分类: 性能测试
问题描述:
        在对notify执行性能测试时发现cpu负载突然飙高,cpu利用率高达95%。这时候就要排查是哪些线程消耗了cpu,并从代码层找到占用cpu的“罪魁祸首”。

步骤:
    1.     先用ps+grep找到被测试的进程pid。
    比如:ps –ef|grep notify,得到pid为29128。

    2.     执行top -H -p <pid>,可显示出该进程下的所有线程。找到占用cpu最多的子线程pid,并将其转换为16进制。
    比如:top -H -p 29128,看到notify的所有子线程。其中,%CPU 比重最大的子线程pid为879,转换成16进制是36f。

    3.     执行jstack <pid>|less,查找子线程pid就能看到堆栈信息了。
    比如:jstack 29128|less,再查找nid=0x36f,看到堆栈如下

"dispatcherTPConfig-6-thread-22" prio=10 tid=0x000000004dd84000 nid=0x36f runnable [0x000000004ae18000]
   java.lang.Thread.State: RUNNABLE
        at java.util.ArrayList.contains(ArrayList.java:199)
        <notify相关堆栈信息隐藏>
      ……

    4. 跟进堆栈中的方法信息定位到代码,接下来就是分析调优了。

后记:
    用此方法可以简单、快速定位cpu消耗的原因,但是准确度不够理想。如果想深入查看消耗cpu top10的方法,可以使用专门的性能分析工具,例如oprofile、perf都可以实现。
分享到:
评论

相关推荐

    loadrunner-linux测试性能瓶颈分析

    ### LoadRunner-Linux测试性能瓶颈分析 #### 一、Linux系统瓶颈分析概述 在进行LoadRunner测试时,针对Linux系统的性能分析尤为重要。性能优化的目标在于识别并解决系统处理中的瓶颈,确保系统的稳定运行与高效...

    CPU源代码分析与芯片设计及Linux移植

    通过源代码分析,开发者能深入理解CPU性能瓶颈,优化软件执行效率。 2. **芯片设计**: 芯片设计涵盖了从概念到制造的全过程,包括逻辑设计、电路设计、布局布线、物理验证等步骤。逻辑设计阶段,使用硬件描述语言...

    nmon for linux 下性能报表分析

    例如,CPU使用率、内存分配、磁盘读写速度以及网络带宽使用等,这些数据对于定位性能瓶颈至关重要。通过观察这些指标,管理员可以及时发现并解决潜在的问题。 在nmon中,性能报表分析功能尤为重要。nmon可以生成CSV...

    linux环境下测试CPU和内存性能软件

    对于开发者和系统管理员来说,这些数据有助于识别性能瓶颈,优化系统配置,或者在不同硬件之间进行性能对比。 总的来说,ubench是一款实用的Linux系统性能测试工具,它的轻便性和易用性使得任何人都能轻松进行CPU和...

    性能测试-瓶颈分析方法

    - **DiskTime**:反映磁盘活动所占时间的比例,如果这个值较高,表明磁盘可能已经成为性能瓶颈。 - **Disksec/Transfer**:反映每次磁盘读写操作所需的时间,通常情况下,这个值越小,磁盘的性能就越高。 #### 三、...

    Linux系统瓶颈分析

    通过理解系统的特点、确定应用类型、建立基准线统计以及合理使用监控工具,管理员可以更加精确地定位性能瓶颈,并采取有效措施进行优化。最终目标是使操作系统的各个子系统达到良好的平衡状态,从而提升整个系统的...

    服务器性能瓶颈分析方法.pdf

    ### 服务器性能瓶颈分析方法详解 #### 一、引言 服务器性能的高效稳定是确保业务顺畅的关键。当服务器出现响应缓慢或无法处理更多请求的情况时,就需要进行性能瓶颈分析,找出导致性能下降的根本原因,并采取相应...

    LoadRunner监控到的Linux服务器CPU的一些主要指标说明.pdf

    LoadRunner 监控到的 Linux 服务器 CPU 的主要指标说明 LoadRunner 是一款性能测试工具,可以对 Linux 服务器的 CPU 进行...可以使用 oprofile 工具来分析系统的性能瓶颈,并通过调整系统的配置来提高服务器的性能。

    Linux下如何查看某一进程的CPU占用率_linux进程cpu使用率.zip

    例如,如果一个进程的CPU占用率持续过高,可能表明该进程存在性能瓶颈或者死循环。这时,可以结合`strace`命令跟踪进程调用,找出导致CPU占用过高的原因。 在实际操作中,还应关注其他系统资源如内存、磁盘I/O等,...

    android linux下用oprofile工具分析性能

    Android Linux 下用 OProfile 工具分析性能 OProfile 是一种用于 Linux 的评测工具,能够帮助用户识别系统中的性能瓶颈。该工具可以工作在不同的体系结构上,包括 IA32, IA64 和 AMD Athlon 系列。OProfile 的优点...

    服务器性能瓶颈分析

    服务器性能瓶颈分析是确保系统高效运行的关键环节。本文主要探讨了三个主要的性能瓶颈领域:内存分析、处理器分析以及磁盘I/O分析,并提供了相应的监控和诊断方法。 内存分析是评估系统性能的第一步,主要是检查...

    Linux常见性能分析工具

    本篇文章将详细介绍Linux下一些常见的性能分析工具及其应用场景。 首先,vmstat(virtual memory statistics)是一个非常实用的工具,可以监控系统的虚拟内存、进程、CPU等信息。它通过显示系统的进程状态、内存...

    Linux性能分析之CPU实战-视频课程资源网盘链接提取码下载 .txt

    - 实战案例一:通过top和vmstat分析高负载场景下的CPU性能问题。 - 实战案例二:利用mpstat和sar诊断多核处理器的性能瓶颈。 - 实战案例三:使用perf工具深入分析程序的CPU使用情况。 - **第五部分:CPU性能优化...

    linux系统性能问题分析思路指引

    对于计算密集型应用来说,CPU性能至关重要。 3. **Swap使用情况**:当物理内存不足时,系统会将部分数据移动到Swap分区。频繁地使用Swap会导致性能下降。通过`free -m`命令可以查看Swap分区的使用情况。 4. **软件...

    Linux服务器性能测试分析命令大全

    这些测试可以通过比较计算圆周率所需时间来评估CPU性能。针对性能瓶颈,提升方法可能包括增加时钟频率、增加L1、L2缓存容量或者更换新一代CPU架构。 - 调度性能瓶颈涉及CPU的任务调度,若系统负载过高,超过了系统...

    linux下cpu压力测试软件

    标题提到的"linux下cpu压力测试软件"就是专为Linux设计的这类工具,用于全面测试和验证CPU性能。 "cpuburn-1.4"是一个常见的CPU压力测试工具,它能够全负荷运行CPU,以达到长时间高负载测试的目的。这个软件适用...

    linux系统性能分析利器nmon及分析工具

    Linux系统性能分析是一个至关重要的任务,特别是在服务器管理和优化过程中。NMON(Nigel's Monitoring Tool for AIX and Linux)是一款强大的工具,专为Linux系统设计,用于实时监控和记录系统的性能数据,包括CPU、...

    linux性能调优.pdf

    而`sysstat`工具集中的`mpstat`和`pidstat`则为我们提供了深入的性能数据,它们可以对单个CPU和进程的性能进行分析,这对于找到性能瓶颈至关重要。 上下文切换是Linux系统中无法避免的现象,它是操作系统为了更高效...

Global site tag (gtag.js) - Google Analytics