`
nanjingjiangbiao_T
  • 浏览: 2739976 次
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

计数器分析

 
阅读更多

一些重要的计数器
解决性能问题的时候,我往往会让客户添加下面一些计数器进行性能收集。

Process object下的所有计数器。
Processor object下的所有计数器
System object下的所有计数器
Memory object下的所有计数器
如果客户的程序是.NET程序,还会添加 .NET 开头的object下的所有技术其
如果客户使用ASP.NET,还会添加 ASP.NET 开头的object下的所有技术其

分析性能日志的时候,我会重点观察下面这些计数器

Process object


Process object中的计数器可以针对目标进程分析内存,CPU,线程数目和handle数目。首先要确定目标进程,然后分析目标进程的下面一些计数器:

<wbr>% Processor Time</wbr>


该计数器是该进程占用CPU资源的指标。当进程繁忙的时候,CPU平均占用率应该在80%以内。如果超过该数值,程序可以认为发生了high CPU的问题。另外一种问题是CPU波动幅度大。虽然平均占用率不高,但是上下跳动频繁。在某一个短时间段里面,会有连续高CPU的情况出现。

Handle Count

该计数器记录了当前进程使用的kernel object handle数量。Kernel object是重要的系统资源。当程序进入稳定运行状态的时候,Handle Count数量也应该维持在一个稳定的区间。如果发现Handle Count在整个程序周期内总体趋势是连续向上,可以考虑程序是否有Handle Leak

ID Process

该计数器记录了目标进程的进程ID。你可能觉得奇怪,ID有什么好观察的。进程ID是用来观察程序是否有重启发生。比如ASP.NET工作进程可能会自动回收。由于进程名都相同,只有通过进程ID来判断是否进程有重新启动现象。如果ID有变化,考虑程序是否发生崩溃或者Recycle

Private Bytes

该计数器记录了当前通过VirtualAlloc API Commit的Memory数量。无论是直接调用API申请的内存,被Heap Manager申请的内存,或者是CLR 的managed heap,都算在里面。跟Handle Count一样,如果在整个程序周期内总体趋势是连续向上,说明有Memory Leak

Virtual Bytes

该计数器记录了当前进程申请成功的用户态总内存地址,包括DLL/EXE占用的地址和通过VirtualAlloc API Reserve的Memory Space数量,所以该计数器应该总大于Private Bytes。一般来说,Virtual Bytes跟Private Bytes的变化大致一致。由于内存分片的存在, Virtual Bytes跟Private Byes一般保持一个相对稳定的比例关系。当Virtual Bytes跟Private Bytes的比例关系大于2的时候,程序往往有比较严重的内存地址分片。

Processor object

Processor object记录系统中芯片的负载情况。由于普通程序并不刻意邦定到某个具体CPU上执行,所以在多CPU机器上观察Total Instance也就足够了

% Processor Time 该计数器跟Process下的% Processor Time的意义一样,不过这里记录的是所有进程带来的芯片,而不是针对具体某一个进程。通过把这个计数器跟Process下的同名计数器一起比较,就能看出系统的高CPU问题是否是由于单一的某个进程导致的

<wbr><br></wbr>
System

System object记录系统中一个整体的统计信息。所以不区分Instance. 通过比较System object下的counter和其他counter的变化趋势,往往能看出一些线索

Context Switch/sec

Context Switch标示了系统中整体线程的调度,切换频率。线程切换是开销比较大的操作。频繁的线程切换导大量CPU周期被浪费。所以看到高CPU的时候,一定要跟Context Switch一起比较。如果两者有相同的变化趋势,高CPU往往是由于contention导致的,而不是死循环。

Exception Dispatches/sec

Exception Dispatches表示了系统中异常派发,处理的频繁程序。跟线程切换一样,异常处理也需要大量的CPU开销。分析方法跟Context Switch雷同。

File Data Operations/sec

File Data Operations记录了当前系统中磁盘文件读写的频繁程度。通过观察该计数器跟其他性能指标的变化趋势,通常能够判断磁盘文件操作是否是性能瓶颈。类似的计数器还有Network Interface\Bytes total/sec

Memory

Memory object记录了当前系统中整体内存的统计信息。

Available Mbytes

Committed Bytes

Available Mbytes记录了当前剩余的物理内存数量。Committed Bytes记录了所有进程commit的内存数量。结合两个计数器可以观察到:

1)<wbr><wbr><wbr><wbr> 两者相加可以粗略估计系统总体可用内存多少,便于估计物理配置<br><br> 2)<wbr><wbr><wbr><wbr> 当Available Mbytes少于100MB的时候,说明系统总体内存吃紧,会影响到整个系统所有进程的性能。应该考虑增加物理内存或者监察内存泄露<br><br> 3)<wbr><wbr><wbr><wbr> 通过比较Process\Private Bytes跟Virtual Bytes,便于进一步确认是否有内存泄露,判断内存泄露是否是某一单个进程导致<br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

分享到:
评论

相关推荐

    粒子计数器分析仪,欧洲市场研究报告2024-2030.docx

    ### 知识点一:粒子计数器分析仪市场概览 #### 1.1 定义与统计范围 - **定义**:粒子计数器分析仪是一种用于测量空气或其他气体中颗粒物数量的设备,广泛应用于制药、半导体制造、航空航天等行业中的洁净室环境...

    loadrunner计数器分析总结

    ### LoadRunner计数器分析总结 #### 内存性能计数器分析 内存性能是评估系统性能的关键指标之一。在进行LoadRunner性能测试时,内存的使用情况尤为重要,因为内存不足会导致频繁的“页交换”,进而严重影响系统的...

    SQL Server性能计数器分析

    ### SQL Server性能计数器分析 #### Buffer Manager/Buffer Cache Hit Ratio - **定义**:此计数器表示在缓冲池中找到而无需从磁盘读取(即避免了物理I/O操作)的页面比例。 - **作用**:用于评估数据库缓存的有效...

    CF单片机的定时器计数器分析PPT教学课件.pptx

    《CF单片机的定时器计数器分析》 C8051F020单片机的定时器/计数器是其核心功能之一,对于嵌入式系统的设计和应用至关重要。本课件主要介绍了C8051F020单片机中的五个定时器/计数器,包括其基本结构、工作原理和具体...

    通过Windows常见性能计数器分析服务器性能瓶颈.docx

    《通过Windows常见性能计数器分析服务器性能瓶颈》 服务器性能瓶颈的识别是运维工作中至关重要的环节,通过Windows操作系统中的性能计数器,我们可以实时监控并诊断系统性能问题。本文主要探讨了几个关键的性能...

    CF单片机的定时器计数器分析PPT学习教案.pptx

    【CF单片机的定时器计数器分析】 在单片机编程中,定时器和计数器是非常关键的组成部分,特别是在C8051F020这种高性能的微控制器中。C8051F020单片机内含五个定时器/计数器,其中三个与标准8051兼容,另外两个则是...

    通过Windows常见性能计数器分析服务器性能瓶颈.pdf

    通过对这些计数器的分析,我们可以识别服务器的性能瓶颈,确保系统的稳定运行。本文主要关注的是如何通过一些常见的Windows性能计数器来分析服务器性能问题。 首先,我们要关注的是"System"类别的性能计数器。其中...

    利用Windows性能计数器分析软件产品的性能瓶颈归纳.pdf

    WINDOWS 性能计数器在软件产品性能瓶颈分析中的应用 WINDOWS 性能计数器是一种强大的工具,可以帮助开发、测试和系统分析人员快速、有效地找到软件产品的性能瓶颈。通过利用 WINDOWS 性能监视器,用户可以访问系统...

    基于QuartusⅡ与FPGA的时序逻辑电路-计数器分析与设计

    内容概要:本文详述了利用QuartusⅡ和Modelsim对FPGA(DE2-115)上计数器的设计和分析过程,主要涵盖四个部分,分别为对给定时序电路进行分析、设计同步7进制计数器、使用预封装组件设计同样的7进制计数器及模256...

    windows, Unix, SQL等各类计数器的分析文档

    【Windows性能计数器分析】 Windows操作系统提供了一套丰富的性能计数器,用于监控系统资源的使用情况。其中,"Processor %Processor Time"是衡量处理器利用率的关键指标,建议阈值为85%。这个计数器表示处理器执行...

    TD定时器和计数器

    #### N300计数器分析 **功能作用**:N300计数器用于限制UE在T300超时后尝试重新发送`RRC CONNECTION REQUEST`消息的最大次数,避免无限循环的重试导致网络资源浪费。 **参数配置**:N300的取值范围为0至7,代表...

    模拟计数器电路图分析

    ### 模拟计数器电路图分析 #### 一、模拟计数器概述 模拟计数器是一种能够对模拟信号进行计数处理的电路。它主要用于测量特定时间段内的信号变化次数,广泛应用于信号处理、自动控制等领域。与数字计数器不同的是...

    十三进制同步计数器_计数器_十三进制同步计数器_

    在“电子181 付赫然 十三进制同步计数器.ms14”这个文件中,很可能是包含了付赫然同学关于十三进制同步计数器的课程作业或项目设计,可能包括理论分析、电路图、Verilog或VHDL代码实现等具体内容。这样的学习资料...

    系统性能计数器概念分析

    系统性能计数器概念分析是测试一个核心分析问题, 本人找了很久还是没有关于这项的资料,经过实践和整理编著此 文章,请给位鉴赏.

    西门子S7计数器模板的功能分析.zip

    西门子S7系列PLC(可编程逻辑控制器)是工业自动化领域广泛应用的控制系统,其中计数器模块是实现各种计数和定时功能的核心组件。本文将深入探讨西门子S7计数器模板的功能及其在实际应用中的作用。 1. 计数器概述:...

    定时器 / 计数器 实验报告

    通过实验报告,我们详细介绍了使用8253定时器/计数器产生方波的整个过程,强调了实验环境、设备、步骤和结果分析的重要性,同时也揭示了实践操作对于理论理解的积极作用。通过此次实验,我们可以更好地理解和运用...

    计数器_计数器_源码

    此外,"计数器图.docx"文件可能包含了计数器的逻辑结构图或者工作流程图,这对于理解和分析计数器的内部工作原理非常有帮助。这些图形通常会展示触发器之间的连接,以及如何根据输入信号来控制计数行为。 在设计...

    eda实验1000进制计数器

    通过分析和理解这些文件,学生可以深入学习到数字电路设计、时序逻辑和EDA工具的使用。 总的来说,"eda实验1000进制计数器"涵盖了数字系统设计的基础知识,包括计数器的工作原理、分频技术、时序逻辑电路设计、HDL...

    用集成计数器构成任意进制计数器

    通过对计数原理的分析,系统地讨论了用已有的集成计数器产品构成任意 N 进制计数器的方法。 在讨论之前,需要了解计数器的基本概念。计数器是一种数字电路,用于计数脉冲信号。计数器可以分为同步计数器和异步...

    鼠标计数器 键盘计数器

    3. **数据统计与分析**:计数器收集的数据可以进一步进行统计分析,例如计算平均每分钟的键入速度、鼠标点击率,或者在特定时间段内的活动频率,这些信息对于提高工作效率、优化工作流程有重要作用。 4. **用户行为...

Global site tag (gtag.js) - Google Analytics