操作系统资源利用率
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统资源利用率
操作系统的监测涉及后台重要服务操作系统监测,如果系统采用负载均衡机制,那么还有必要验证负载均衡是否处理大的客户端压力。操作系,统有很多类型,检测的指标也不尽相同,我们需要收集磁盘管理、文件系统、内存、CPU等方面的内容,分别如下:
⏹磁盘管理
✧收集物理读/写和逻辑读/写的信息
✧收集操作系统和其他平台上的磁盘忙信息
✧收集I/O
具体数据项如下:
判断磁盘瓶颈的方法是通过以下公式来计算:
每磁盘的I/O 数= [读次数+ (4 * 写次数)] / 磁盘个数
如果计算出的每磁盘的I/O 数大于磁盘的处理能力,那么磁盘存在瓶颈。
⏹文件系统
✧显示每个文件系统的使用率,检测文件系统空闲空间的大小。
✧剪裁文件系统——删除指定的CORE文件和其他文件。
✧显示文件系统的mount on device、type、size等内容。
✧可以监控特殊的文件系统,如NFS、CD-ROM
✧检测特定文件的存在及超出特定期限的文件存在
⏹内存
✧显示可用的内存数量
✧决定当前的内存短缺量
✧帮助分析内存问题
具体数据项如下:
⏹CPU
✧记录CPU使用率
✧监测CPU参数,包括CPU idle、CPU waits、CPU system usage、CPU user
usage 、run queue length
✧显示CPU context switches 的总数
✧显示CPU处理系统任务和完成用户任务的时间比例
具体数据项如下:
判断应用程序是否存在处理器瓶颈的方法:如果Processor Queue Length 显示的队列长度保持不变(>=2)个并且处理器的利用率%Processor Time 超过90%,那么很有可能存在处理器瓶颈。
如果发现Processor Queue Length 显示的队列长度超过2,而处理器的利用率却一直很低,那么或许更应该去解决处理器阻塞问题,这里处理器一般不是瓶颈。
如果系统由于应用程序代码效率低下或者系统结构设计有缺陷而导致大量的上下文切换(Context Switches/sec 显示的上下文切换次数比较大),那么就会占用大量的系统资源。
如果系统的吞吐量降低并且CPU 的使用率很高,并且此现象发生时切换水平在15000 以上,那么意味着上下文切换次数过高同时还可以比较Context Switches/sec 和%Privileged Time 来判断上下文切换是否过量。
如果后者的值超过40%,且上下文切换的速率也很高,那么应该检查为什么会产生这
样的上下文切换。
下面举例对某些指标进行分析。
Memory:内存使用情况可能是系统性能中最重要的因素。如果系统“页交换”频繁,说明内存不足。“页交换”是使用称为“页面”的单位,将固定大小的代码和数据块从RAM 移动到磁盘的过程,其目的是为了释放内存空间。尽管某些页面交换使windows2000能够使用比实际更多的内存,也是可以接受的,但频繁的页面交换将降低系统性能。减少页面交换将显著提供系统响应速度。要监视内存不足的状况,主要监测以下对象计数器。
Available Mbytes:可用物理内存数。如果Available Mbytes的值很小(4MB或更小),则说明计算机上的总内存不足,或某程序没有释放内存。
Page/sec:表明由于硬件页面错误而从磁盘取出的页面数,或由于页面错误而写入磁盘以释放内存空间的页面数。一般如果page/sec持续高于几百,那么应该进一步研究页交换活动。有可能需要增加内存,以减少换页的需求(用这个数字乘以4k就得到由此引起的硬盘数据流量)。Page/sec的值很大,不一定表明内存有问题,而可能是运行使用内存映射文件的程序所致。
Page read/sec:页的硬故障,page/sec的子集,为了解析对内存的引用,必须读取页文件的次数。阀值为>5,越低越好。大数值表示磁盘读而不是缓存读。
由于过多的页交换要使用大量的硬盘空间,因此有可能导致页交换内存不足与页交换的磁盘瓶颈混淆。因此,在研究内存不足不太明显的页交换的原因时,必须跟踪如下的磁盘使用情况计数器和内存计数器:
Physical Disk \% Disk Time
Physical Disk \Avg.Disk Queue Length。例如,包括Page Read/sec和%Disk Time及Avg.Disk Queue Length。如果页面读取操作速度低,同时%Disk Time和Avg.Disk Queue Length的值很高,则可能有磁盘瓶颈。而如果队列长度增加的同时页面读取速率并未降低,则内存不足。要确定过多的页交换对磁盘活动的影响,请将Physical Disk \Avg.Disk sec/Transfer和Memory\pages/sec计数器的值增大数倍。如果这些计数器的计数结果超过了0.1,那么页交换将花费10%以上的磁盘访问时间。如果长时间发生这种情况,那么需要更多的内存。
Page Faults/sec:每秒钟软性页面失效的数目(包括有些可以直接在内存中满足而有些需要从磁盘读取),而page/sec只表明数据不能在指定内存中立即使用。
Cache Bytes:文件系统缓存(File System Cache),默认情况下为50%的可用物理内存。如果怀疑有内存泄露,请监视Memory\Available Bytes和Memory/Committed Bytes,以观察内存行为,并监视可能泄露内存进程Process\Private Bytes、Process\Working Set和Process\handle Count。如果怀疑有内核模式进程导致了泄露,则还应监视Memory\Pool Nonpaged Bytes 、Memory\Pool Nonpaged Allocs和Process(process_name)\Pool Nonpaged Bytes。
Pages per second:每秒种检索的页数。该数字应少于每秒1页。
Page Faults/sec:将进程产生的页故障与系统产生的相比较,以这个判断进程对系统页故障产生的影响。
Work set:处理线程最近使用的内存页,反映了每一个进程使用的内存页的数量。如果服务器有足够的空闲内存,页就会被留在内存中,当自由内存少于一个特定阀值时,页就会被清除出内存。
Inetinfo:Private Bytes。此进程所分配的无法与其他进程共享的当前字节数量。如果系统性能随着时间而降低,则此计数器可以是内存泄露的最佳指示器。
Processor:监视“处理器”和“系统”对象计数器可以提供关于处理器使用的有价值的信息,帮助决定是否存在瓶颈。
%Processor Time:被处理器消耗的处理器时间数量。如果该值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。
%User Time:表示耗费CPU的数据库操作,如排序,执行aggregate functions等。如果该值很高,可考虑增加索引,尽量使用简单的表连接、水平分割大表格方法来降低该值。
%Privileged Time:(CPU内核时间)是在特权模式下处理线程执行代码所花费时间的百分比。如果该参数值和“Phsical Disk”参数值一直很高,表明I/O有问题,则考虑更换更快的磁盘系统。另外设置“Tempdb in RAM”,减低“max async I/O”,“max lazy writer I/O”等措施降低该值。此外,跟踪计算机的服务器工作队列当前长度的Server Work Queues \Queues Length计数器会显示出处理器瓶颈。队列长度持续大于4,则表示可能出现处理器拥塞。此计数器是特定时间的值,而不是一段时间的平均值。
%DPC Time:越低越好。在多处理器系统中,如果这个值大于50%并且“Process:% Processor Time”非常高,加入一个网卡可能会提高性能,提供的网络已经不饱和。
Context Switches/sec:如果决定要增加线程字节迟的大小,应该同时监视实例化inetinfo 和dllhost进程这两个计数器。增加线程数可能会增加上下文切换次数,这样性能不会上升,