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测试性能瓶颈分析 #### 一、Linux系统瓶颈分析概述 在进行LoadRunner测试时,针对Linux系统的性能分析尤为重要。性能优化的目标在于识别并解决系统处理中的瓶颈,确保系统的稳定运行与高效...
通过源代码分析,开发者能深入理解CPU性能瓶颈,优化软件执行效率。 2. **芯片设计**: 芯片设计涵盖了从概念到制造的全过程,包括逻辑设计、电路设计、布局布线、物理验证等步骤。逻辑设计阶段,使用硬件描述语言...
例如,CPU使用率、内存分配、磁盘读写速度以及网络带宽使用等,这些数据对于定位性能瓶颈至关重要。通过观察这些指标,管理员可以及时发现并解决潜在的问题。 在nmon中,性能报表分析功能尤为重要。nmon可以生成CSV...
对于开发者和系统管理员来说,这些数据有助于识别性能瓶颈,优化系统配置,或者在不同硬件之间进行性能对比。 总的来说,ubench是一款实用的Linux系统性能测试工具,它的轻便性和易用性使得任何人都能轻松进行CPU和...
- **DiskTime**:反映磁盘活动所占时间的比例,如果这个值较高,表明磁盘可能已经成为性能瓶颈。 - **Disksec/Transfer**:反映每次磁盘读写操作所需的时间,通常情况下,这个值越小,磁盘的性能就越高。 #### 三、...
通过理解系统的特点、确定应用类型、建立基准线统计以及合理使用监控工具,管理员可以更加精确地定位性能瓶颈,并采取有效措施进行优化。最终目标是使操作系统的各个子系统达到良好的平衡状态,从而提升整个系统的...
### 服务器性能瓶颈分析方法详解 #### 一、引言 服务器性能的高效稳定是确保业务顺畅的关键。当服务器出现响应缓慢或无法处理更多请求的情况时,就需要进行性能瓶颈分析,找出导致性能下降的根本原因,并采取相应...
LoadRunner 监控到的 Linux 服务器 CPU 的主要指标说明 LoadRunner 是一款性能测试工具,可以对 Linux 服务器的 CPU 进行...可以使用 oprofile 工具来分析系统的性能瓶颈,并通过调整系统的配置来提高服务器的性能。
例如,如果一个进程的CPU占用率持续过高,可能表明该进程存在性能瓶颈或者死循环。这时,可以结合`strace`命令跟踪进程调用,找出导致CPU占用过高的原因。 在实际操作中,还应关注其他系统资源如内存、磁盘I/O等,...
Android Linux 下用 OProfile 工具分析性能 OProfile 是一种用于 Linux 的评测工具,能够帮助用户识别系统中的性能瓶颈。该工具可以工作在不同的体系结构上,包括 IA32, IA64 和 AMD Athlon 系列。OProfile 的优点...
服务器性能瓶颈分析是确保系统高效运行的关键环节。本文主要探讨了三个主要的性能瓶颈领域:内存分析、处理器分析以及磁盘I/O分析,并提供了相应的监控和诊断方法。 内存分析是评估系统性能的第一步,主要是检查...
本篇文章将详细介绍Linux下一些常见的性能分析工具及其应用场景。 首先,vmstat(virtual memory statistics)是一个非常实用的工具,可以监控系统的虚拟内存、进程、CPU等信息。它通过显示系统的进程状态、内存...
- 实战案例一:通过top和vmstat分析高负载场景下的CPU性能问题。 - 实战案例二:利用mpstat和sar诊断多核处理器的性能瓶颈。 - 实战案例三:使用perf工具深入分析程序的CPU使用情况。 - **第五部分:CPU性能优化...
对于计算密集型应用来说,CPU性能至关重要。 3. **Swap使用情况**:当物理内存不足时,系统会将部分数据移动到Swap分区。频繁地使用Swap会导致性能下降。通过`free -m`命令可以查看Swap分区的使用情况。 4. **软件...
这些测试可以通过比较计算圆周率所需时间来评估CPU性能。针对性能瓶颈,提升方法可能包括增加时钟频率、增加L1、L2缓存容量或者更换新一代CPU架构。 - 调度性能瓶颈涉及CPU的任务调度,若系统负载过高,超过了系统...
标题提到的"linux下cpu压力测试软件"就是专为Linux设计的这类工具,用于全面测试和验证CPU性能。 "cpuburn-1.4"是一个常见的CPU压力测试工具,它能够全负荷运行CPU,以达到长时间高负载测试的目的。这个软件适用...
Linux系统性能分析是一个至关重要的任务,特别是在服务器管理和优化过程中。NMON(Nigel's Monitoring Tool for AIX and Linux)是一款强大的工具,专为Linux系统设计,用于实时监控和记录系统的性能数据,包括CPU、...
而`sysstat`工具集中的`mpstat`和`pidstat`则为我们提供了深入的性能数据,它们可以对单个CPU和进程的性能进行分析,这对于找到性能瓶颈至关重要。 上下文切换是Linux系统中无法避免的现象,它是操作系统为了更高效...