版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、名称(O bject)计数器(C ounter)功能描述SampleProcessor记录系统中 芯片的负载 情况。由于普通程序并 不刻意绑定到某 个具体CPU上执 行,所以在多 CPU机器上观察 Total Instance 也就足够了。 处理器出现瓶颈可 能是由于处理器本 身没有足够的能 力,或由于应用程 序效率低下导致处 理器能力不足。必 须仔细检查处理器 是否由于物理内存 不足而不得不花费 大量时间来执行分 页。CPU不像收款员, 它不会干坐在那里 等待下一个任务的 到来,而必须总有 一些事情去做。就 像我们打开电脑, 不管是否进行操 作,它的电源线上 始终有电流流过, 为了保证CPU
2、始 终有事可做,当它 没有其他任务时, Windows便为它准 备了另一件事,就 是调用“空闲进程” (也就是我们以前 曾经介绍过的 “ System IdleProcess”,在系统 没有什么操作时, 它常常会显示为 99%或 100%)。实 际上,系统在计算 处理器时间时,并 不是对每个不同的判断应用程序是否存 在处理器瓶颈的方法: 如果 Processor Queue Length显示的队列长 度保持不变(=2)个 并且处理器的利用 率%Processor Time 超 过90%,那么很有可能 存在处理器瓶颈。如果 发现 Processor Queue Length显示的队列长 度超过2
3、,而处理器的 利用率却一直很低,那 么或许更应该去解决 处理器阻塞问题,这里 处理器一般不是瓶颈。 如果系统由于应用程 序代码效率低下或者 系统结构设计有缺陷 而导致大量的上下文 切换(C ontext Switches/sec显示的上 下文切换次数比较 大),那么就会占用大 量的系统资源。如果系统的吞吐量降 低并且CPU的使用率 很高,并且此现象发生 时切换水平在15000 以上,那么意味着上下 文切换次数过高同时 还可以比较Context Switches/sec和 %Privileged Time 来判断上下文切换是 否过量。如果后者的值 超过40%,且上下文切 换的速率也很高,那么 应
4、该检查为什么会产 生这样高的上下文切 换。线程运行时间进行 统计,而只是对空 闲进程的运行时间 进行计算,然后只 要简单地用100% 减去空闲进程的时 间,就得到了“ %Processor Time”。%Processor Time记录所有进 程带来的芯 片负载情 况。该计数器跟 Process 下的 Processor Time 的意义一样,不 过这里记录的是 所有进程带来的 芯片,而不是针 对具体某一个进程。通过把这个计数器跟 Process下的同名计数 器一起比较,就能看出 系统的高CPU问题是 否是由于单一的某个 进程导致的。如果一个 或多个处理器的该数 值持续超过90%,则 表示此测
5、试的负载对 于目前的硬件过于沉 重。排除内存因素,如 果该计数器的值比较 大(75%),而同时网 卡和硬盘的值比较低, 那么可以确定CPU瓶 颈。%User Time非内核操作损耗的CPU时间。理想情况下,大多CPU时间应该用 在这里。此值过高(长期大于 50%)说明程序中有大 量算法或者复杂的算 法。%Privileged TimeCPU内核时 间)是在特权 模式下处理 线程执行代 码所花时间 的百分比。当调用 Windows 系统服务时,此服 务经常在特权模式 运行,以便获取对 系统专有数据的访 问。在用户模式执 行的线程无法访问 这些数据。对系统的调用可以 是直接的(explicit)
6、或间接的(implicit),例如页 面错误或中断。不 像某些早期的操作 系统,Windows除了使用用户和特权 模式的传统保护模 式之外,还使用处 理边界作为分系统 保护。%Idle Time%C1 Time%C2 Time%C3 Time%Interrupts Time%DPC Time延迟过程处 理时间百分 比。处理器在网 络处理上消 耗的时间,该 值越低越好。在多CPU中,不能 大于50%,越低越 好如果这个值大于50% 并且 Processor:% Processor Time 非常 高,加入一个网卡可能 会提高性能,提供的网 络已经不饱和。Interrupts/sec如果处理器使用
7、率 超过90%且%Interrupt Time 大 于15%,则处理器 可能负荷过重,并 发生中断。DPC Queued/secDPC RateC1 Transitions/secC2 Transitions/secC3 Transitions/secProcessProcess object中的计数器可以针对目标进程分析内存,CPU,线程数目和 handle 数目。首先要确定目标进 程,然后分析目标 进程的下面一些计 数器。如果进程异常或未 经优化,服务器性 能将会受到严重影 响。线程和句柄泄 漏最终会使服务器 速度减慢,过度使 用处理器会使服务 器变为爬行速度。 在诊断与进程相关 的瓶颈时
8、,需要使 用以下计数器。% Processor Time该计数器是当进程繁忙的时候,该进程占用CPU资源的指标。CPU平均占用率应该 在80%以内。如果超过 该数值,程序可以认为 发生了 high CPU的问 题。另外一种问题是 CPU波动幅度大。虽 然平均占用率不高,但 是上下跳动频繁。在某 一个短时间段里面,会 有连续高CPU的情况 出现。%User Time%Privileged TimePrivate Bytes记录当前通 过VirtualAlloc API Commit 的Memory数 量。无论是直接调用API申请的内存, 被 Heap Manager 申请的内存,或者是CLR的
9、managed heap, 都 算在里面。跟 Handle Count 一样, 如果在整个程序周期 内总体趋势是连续向 上,说明有Memory LeakoVirtual Bytes记录当前进 程申请成功 的用户态总 内存地址。包括DLL/EXE占 用的地址和通过 VirtualAlloc API Reserve 的 Memory Space数量,所以 该计数器应该总大 于 Private Bytes。 一般来说,Virtual Bytes 跟 Private Bytes的变化大致 一致。由于内存分 片的存在,Virtual Bytes 跟 Private Byes 一般保持一 个相对稳定的比例
10、 关系。当 Virtual Bytes 跟 Private Bytes的比例关 系大于2的时候,程序 往往有比较严重的内 存地址分片。Working SetPage Faults/secHandle Count记录当前进 程使用的 kernel object handle (句柄) 数量。Kernel object 是重要的系统资源。当 程序进入稳定运行 状态的时候,Handle Count 数量 也应该维持在一个如果发现Handle Count在整个程序周期 内总体趋势是连续向 上,可以考虑程序是否 有 Handle Leak。如果此计数器的值大稳定的区间。于10,000,则表示可 能存在句
11、柄泄漏。IO Read Bytes/secIO Write Bytes/secIO Data Bytes/secIO Other Bytes/secPage File BytesThread Count测量某个进 程中目前处 于活动状态 的线程数。如果在最小线程数和 最大线程数之间此数 值超过500,则可能存 在线程泄漏。Priority BaseElapsed TimeID Process记录目标进 程的进程ID。进程ID是用来观 察程序是否有重启 发生。比如ASP.NET工作进 程可能会自动回收。由 于进程名都相同,只有 通过进程ID来判断是 否进程有重新启动现 象。如果ID有变化, 考虑
12、程序是否发生崩 溃或者Recycle。Creating Process IDPool Paged BytesPool Nonpaged BytesIO Read Operations/secIO Write Operations/secIO Data Operations/secIO Other Operations/secWorking Set - PrivateVirtual Bytes PeakWorking Set - PeakPage File Bytes - PeakMemory记录当前系 统中整体内 存的统计信 息。内存不足通常是由 于RAM不足、内 存泄漏或内存开关 被放置在b
13、oot.ini 中而导致的。在讨 论内存计数器之 前,我先介绍一下 /3GB开关。内存 越多,磁盘I/O活 动就越少,而应用 程序的性能也会因 此得以改善。在结合 Available Mbytes 和 Committed Bytes 两 个计数器可以观察到:1)两者相加可以粗略 估计系统总体可用内 存多少,便于估计物理 配置2)当 Available Mbytes 少于100MB的时候, 说明系统总体内存吃 紧,会影响到整个系统 所有进程的性能。应该Windows NT 中 弓|入了 /3GB开 关,用于为用户模 式程序提供更多的 内存。Windows使 用4GB的虚拟地 址空间(与系统拥 有
14、的物理RAM 大小无关)。默认情 况下,卜面的2GB 是为用户模式程序 保留的,而上面的 2GB是为内核模 式程序保留的。通 过使用/3GB开 关,可将3GB用 于用户模式进程。 当然,这样做的代 价是内核内存仅剩 1GB的虚拟地址 空间。这可能会产 生一些问题,因为 Pool Nond Bytes、Pool Paged Bytes、Free System Page Tables Entries 和桌面堆都争用这 1GB的空间。因 此,必须在环境中 进行全面测试后才 能使用/3GB开 关。如果怀疑自己 遇到了与内存相关 的瓶颈,可以考虑 一下这一点。考虑增加物理内存或 者监察内存泄露 3)通过
15、比较 ProcessPrivate Bytes 跟 Virtual Bytes,便于 进步确认是否有内 存泄露,判断内存泄露 是否是某一单个进程 导致。Page/sec 推荐 00-20(如果服务器没有足 够的内存处理其工作 负荷,此数值将一直很 高。如果大于80,表 示有问题)。这些计数器的值比较 低,说明Web服务器 响应请求比较快,否则 可能是服务器系统内 存短缺引起(也可能 是缓存太大,导致系统 内存太少)。PageInput/sec 的值可 以衡量出硬错误页发 生的速率,通常它的值 会大于或者等于 PageReads/sec。如果您怀疑有内存泄 露,请监视Memory Availab
16、le Bytes 和 Memory Committed Bytes,以观察内存行 为,并监视您认为可能 在泄露内存的进程的 ProcessPrivate Bytes、 ProcessWorking Set 和 ProcessHandle Count。如果您怀疑是 内核模式进程导致了 泄露,则还应该监视 MemoryPool Nonpaged Bytes、Memory PoolNonpaged Allocs 和 Process(process_name) Pool Nonpaged Bytes。Cache Fults/secAvailable MBytes记录当前剩余的物理内 存数量。如果此值彳
17、低于总物 理RAM的5%,则 意味着内存不足, 分页活动可能会增 加。要解决此问题,应增加 更多的内存。Available BytesAvailable KBytesCommitted Bytes记录所有进 程commit的 内存数量推荐不超过物理内存 的 75%。Commit LimitWrite Copies/secDemand Zero Fults/secPage Faults/sec记录Hard和Soft Page faults阈值为5.越低越 好。大数值表示磁盘读而 不是缓存读。Transition Faults/sec记录为解决 软分页错误 而所做的内存中transition 速
18、率。Pages/sec测量为解决 硬分页错误 而从磁盘读 取页或将页 写入磁盘的 速率。如果“Pages/sec”的值 为1220或更大,表明 系统使用内存页面文 件比较频繁。如果此值大于1,000, 则可能会由于过度分 页而出现内存泄漏。一般如果pages/sec持 续高于几百,那么您应 该进一步研究页交换 活动。有可能需要增加 内存,以减少换页的需 求(你可以把这个数字 乘以4k就得到由此引 起的硬盘数据流量)。 Pages/sec的值很大不 一定表明内存有问题,而可能是运行使用内 存映射文件的程序所 致。Pages Input/sec为了解决硬 错误页,从硬 盘上读取的 页数Page R
19、eads/sec为了解决硬错误,从硬盘 读取的次数。如果 Page Reads/Sec 比率持续保持为5,表 示可能内存不足。Page Writes/sec将页写向磁 盘以释放物 理内存空间 的时间数。只有当页在物理内 存中被改变的时 候,将页写入磁盘, 这样,它们更有可 能含有数据,而不 是代码。Cache Output/secPool Paged Bytes测量分页缓 冲池的大小(单位为字 节)。如果此值大于250MB (使用/3GB开关时大于170MB),则可能存 在内存泄漏。一个典型 的事件ID 2019会记录 在系统事件日志中。Pool Nond Bytes测量非分页 缓冲池的大 小
20、(单位为字 节)。在这一系统内存区 域中存储的是无法 写入磁盘但只要已 分配就必须保留在 物理内存中的对 象。在访问数比较固定 的情况下,此值是 比较固定的,如果 访问数逐渐增加, 该值会缓慢的增 加。如果此值大于175MB (使用/3GB开关时大于100MB),则可能存 在内存泄漏。一个典型 的事件ID 2019会记录 在系统事件日志中。Free System Page Table Entries表示系统当 前并未使用 的页表项数 量如果此数字小于 5,000,则很可能存 在内存泄漏。这三个计数器(PoolPaged Bytes,Pool Non d Bytes)可以衡 量核心态空闲内存的
21、数量Cache Bytes表示用于文件系统缓存的内存数量。默认情况下为50% 的可用物理内存。如果此值大于200MB,则可能存在磁盘瓶颈。Cache Bytes PeakPoole Paged ResidentBytesSystem Code Total BytesSystem Code Resident BytesSystem Driver Total BytesSystem Driver Resident BytesSystem Cache Resident Bytes%Committed Bytes In Use测量CommittedBytes 与Commit Limit 的比值。它测量
22、的是使用中 的虚拟内存数量。 如果此数值大于 80%,则表示内存 不足。对此最直接的解决方 案是增加更多的内存。Transition Pages RePurpose/secFree & Zero Page List BytesModified Page List BytesStandby Cache Reserve BytesStandby Cache Normal Priority BytesStandby Cache Core BytesSystem记录系统中一个整体的统计信息。小区分Instanceo 通过比较System object 下的 counter 和其他counter的 变化
23、趋势,往往能 看出一些线索。Context Switch/sec标示系统中整体线程的调度,切换频率。ContextSwitches/sec 指计 算机上的所有处理 器全都从一个线程 转换到另一个线程 的综合速率。当正 在运行的线程自动 放弃处理器时出现 上下文转换,由一看到高CPU的时候, 一定要跟Context Switch 一起比较。如果 两者有相同的变化趋 势,高CPU往往是由 于 contention 导致的, 而不、是死循环。如果切换次数到个有更高优先就绪 的线程占先或在用 户模式和特权(内 核)模式之间转换 以使用执行或分系 统服务。它是在计 算机上的所有处理 器上运行的所有线 程
24、的 Thread:ContextSwitches/sec 的总 数并且用转换数量 衡量。线程切换是开销比 较大的操作。频繁 的线程切换导大量 CPU周期被浪费。5000*CPU个数和 10000*CPU 个数中, 说明它忙于切换线程 而不是处理业务。Exception Dispatches/sec标示系统中 异常派发,处 理的频繁程 序。跟线程切换一样,异常处理也需要大量的CPU开销。分析方法跟ContextSwitch 雷同。File Data Operations/sec记录当前系 统中磁盘文 件读写的频 繁程度。通过观察该计数器跟 其他性能指标的变化 趋势,通常能够判断磁 盘文件操作是否
25、是性 能瓶颈。%Processor Queue Length指处理列队中的线程数。即使在有多个处理 器的计算机上处理 器时间也会有一个 单列队。不象磁盘 计数器,这个计数 器仅计数就绪的线 程,而不计数运行 中的线程。只记录那些准备执 行但仍处于等待的 线程,不是那些正 在运行的线程。当该计数器的值大于 CPU数量总数+ 1时, 说明处理器阻塞。微软给出的Win2000 下的建议值如下:多核 系统(=3cpu)推荐阀 值为1-3,4核及以上 的,阀值为4-12,但随 着硬件的更新换代,这 些值可以适当放松。File Read Operations/secFile Write Operation
26、s/secFile Control Operations/secFile Read Bytes/secFile Write Bytes /secFile Control Bytes /secSystem Calls/secSystem Up TimeProcessesThreadsAlignment Fixups/secFloating Emulations/sec%Registry Quota In UseNetworkInterface网络瓶颈顾名思义 会影响服务器通过 网络发送和接收数 据的能力。原因可 能是服务器的网卡 存在问题,或者网 络处于满负荷状 态,需要对其进行 分段。Byte
27、s Total/sec测量通过每 个网络适配 器发送和接 收字节(包括 分帧字符)的 速率。判断网络连接速度是 否是瓶颈,可以用该计 数器的值和目前网络 的带宽比较。如果发现使用的接口 超过70%,则表示网 络处于满负荷状态。对 于一个100-Mbps的 NIC而言,使用的接 口是 8.7MB/sec (100Mbps = 100000kbps= 12.5MB/sec* 70%)。出 现这种情况时,可能需 要添加一个速度更快 的网卡或对网络进行 分段。Current BandwidthOutput Queue Length测量输出数据包队列的 长度(以数据 包为单位)。如果此值大于2,则表 示
28、网络处于满负荷状 态。可通过添加一个速 度更快的网卡或对网 络进行分段来解决此 问题。Physical Disk由于磁盘系统存储 和处理服务器上的每磁盘的I/O数=(读 次数+4*与次数)/磁盘程序和数据,因此 影响磁盘使用情况 和运行速度的瓶颈 会极大地影响服务 器的整体性能。个数Disk Reads/sec物理磁盘上每秒钟磁盘读的次数。两者相加,应小于 磁盘设备最大容 量。否则增加磁盘Disk Writes/sec物理磁盘上每秒钟磁盘写的次数。两者相加,应小于 磁盘设备最大容 量。否则增加磁盘Avg. Disk sec/Read测量从磁盘 读取数据的 平均时间(以 秒为单位)。如果此数字大
29、于 25毫秒(ms),则意 味着从磁盘读取数 据时磁盘系统发生 了延迟。对于托管 SQL Server 和 Exchange Server 的关键任务服务 器,可接受的阈值 要低得多,约为10ms。最合理的解决方案是 将当前磁盘系统更换 为速度更快的磁盘系 统。Avg. Disk sec/Write测量将数据 写入磁盘的 平均时间(以 秒为单位)。如果此数字大于 25毫秒(ms),则意 味着从磁盘读取数 据时磁盘系统发生 了延迟。对于托管 SQL Server 和 Exchange Server 的关键任务服务 器,可接受的阈值 要低得多,约为10ms。可能的解决方案是将 当前磁盘系统更换为 速度更快的磁盘系统。Avg. Disk sec/Transfer平均每次传 输时间15ms为最优, 15-30ms之间良 好,不能超过6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公路安全管理培训课件
- 煤炭投资合同2026年担保条款
- 翻译鉴赏笔试题及答案
- 城管考试招聘试题及答案
- 美发师吹发技术题目及分析
- 中学教师资格证试卷及详解
- 细胞生物学复习题库及分析
- 电工初级理论试题及分析
- 网络工程师计算机网络基础试卷及分析
- 机械技术基础及设计 111
- 2025年南京地铁运营有限责任公司秋季招聘笔试参考题库附带答案详解(10套)
- 外走行为患者的护理常规
- 软件项目研制管理办法
- DB13-T 1545-2025 预拌混凝土质量管理规程
- 五年级下册数学思维训练:分数的意义和性质
- T-CACM 1295-2019 中医整脊科临床诊疗指南 颈椎管狭窄症
- 护理人力资源调配管理
- 西交利物浦大学《互联网金融》2023-2024学年第一学期期末试卷
- 乡卫生院在预防艾滋病母婴传播中的性别平等与妇女权益保护
- GB 15979-2024一次性使用卫生用品卫生要求
- (高清版)JTG 5210-2018 公路技术状况评定标准
评论
0/150
提交评论