操作系统性能监控

1. 概述

应用的性能极限是服务等级协议中关注的重点。找到性能极限的关键在于知道该监控哪些数据、监控软件栈的哪些部分以及使用哪些工具。本篇文章将介绍需要监控的操作系统数据以及可用的操作系统性能监控攻击,还会给出一般性指导原则。主要涉及的操作系统是Windows 7和Ubuntu 12.04.5 LTS。我们更多的是介绍哪些是需要重点监控的系统属性以及为何要监控他们。

找到性能问题的第一步是监控应用的行为,通过监控提供的线索,可以将性能问题进行归类。

首先要给出几个概念的定义:性能监控,性能分析和性能调优。

性能监控:一种以非侵入方式收集或查看应用运行性能数据的活动。当应用爆出性能问题却没有足以定位根本原因的线索时,首先会进行性能监控,随后是性能分析;

性能分析:一种以侵入方式收集运行性能数据的活动,它会影响应用的吞吐量或响应性;

性能调优:一种为改善应用响应性或吞吐量而更改参数,源代码或属性配置的活动,性能调优通常是在性能监控或性能分析之后。

2. CPU

要使应用的性能或扩展性达到最高,就必须充分利用分配给它的CPU周期。特别需要注意的是:应用消耗很多CPU并不意味着性能或扩展性达到了最高。

大多数操作的CPU使用率分为用户态CPU使用率和系统态CPU使用率。用户态CPU使用率是指执行应用程序代码的时间占总CPU时间的百分比;系统态CPU使用率是指应用执行操作系统调用的时间占总CPU时间的百分比。系统态CPU使用率高意味着共享资源有竞争或IO设备之间有大量的交互。

所以在理想状态下,应用达到最高性能和扩展性时,它的系统态CPU使用率是0%,所以提供应用性能和扩展性的一个目标是尽可能降低系统态CPU使用率。

2.1 监控CPU使用率:Windows 7

Windows上最常用的CPU使用率监控工具是Task Manager(任务管理器)和Performance Monitor(性能监控器)

2.1.1 任务管理器和性能监控器

任务管理器:

左上方CPU Usage(CPU使用率)显示了所有处理器CPU使用率的总和;

右上方CPU使用记录面板显示了每个处理器CPU使用率的历史信息,绿色线代码用户态和系统态CPU使用率的总和,红色线是系统态CPU使用率,上下两线之间的差就是用户态CPU使用率。(必须勾选菜单“查看”->“显示内核时间”才能显示系统态CPU使用率)

性能监控器:右键计算机->管理->系统工具->性能->监控工具->性能监控器

性能监控器使用了称为性能对象的概念,性能对象分为网络,内存,处理器,线程,进程,网络接口,逻辑磁盘等类别。每一类都含有特定的性能属性或计数器,可以作为监控的性能统计数据。

右键性能监控器的显示区域,在弹出菜单中选择Add Counters(添加计数器),选择性能对象Processor,选择计数器%User Time和%Privileged Time在点击Add按钮,即可监控用户态CPU使用率和系统态CPU使用率。注:Windows使用术语Privileged Time描述内核或系统态CPU使用率。如图:

如下是实际的监控数值:

本实例中的User Time高于Privileged Time,这和预想的结果一致,即执行应用程序代码的时间超过执行操作系统内核代码的时间。

2.1.2 Windows typeperf

Windows typeperf是收集操作系统性能统计数据的命令行工具。

如果要监控User Time和Privileged Time可以使用如下命令:

typeperf "\Processor(_Total)\% User Time" "\Processor(_Total)\% Privileged Time"  

输出的第一行是表头,描述所采集的数据。下面几行是数据,每行的日期时间戳标示采集相应性能计数器值的时间点,默认情况下,typeperf的报告间隔是1秒,-si可以设置间隔。

3. 内存

4. 网络IO

5. 磁盘IO

时间: 2024-10-21 02:34:37

操作系统性能监控的相关文章

操作系统性能监控之内存监控

操作系统性能监控 服务端程序除了应用本身性能外,依赖与服务器本身的性能.服务器性能指标包括:CPU.内存.网络IO和磁盘使用率. 今天学习了内存监控的部分. 为什么要监测内存 当应用运行所需内存超过可用物理内存时,就会发生页面交换.通常会在硬盘上分配一个swap空间.当应用耗尽可用内存时,就会把不常用的内容放到swap空间里. 当访问被置换到swap空间的内容时,就需要把swap空间的内容加载到物理内存中,这种置换操作会大大影响应用的吞吐量和响应性. JVM垃圾收集器在进行置换操作时,性能也很差

操作系统性能监控-CPU使用率

CPU使用率分为 用户态CPU使用率:执行应用程序代码的时间占总CPU时间的百分比 系统态CPU使用率:应用执行操作系统调用的时间占总CPU时间的百分比 系统态CPU使用率高意味着共享资源有竞争或者IO设备之间有大量的交互. 目标:理想情况应用达到最高性能和扩展性时,它的系统态CPU使用率为0%,提供应用性能和扩展性一个目标是尽可能降低系统态CPU使用率   对于计算密集型应用 监控用户态和系统态CPU使用率 监控每时钟指令书IPC或每指令时钟周期CPI(对于计算密集型重要,系统自带工具无法监控

操作系统性能监控-磁盘IO

系统IO监控 iostat监控各个磁盘使用情况 rrqm/s:   每秒进行 merge 的读操作数目.即 delta(rmerge)/s wrqm/s:  每秒进行 merge 的写操作数目.即 delta(wmerge)/s r/s:         每秒完成的读 I/O 设备次数.即 delta(rio)/s w/s:        每秒完成的写 I/O 设备次数.即 delta(wio)/s rsec/s:     每秒读扇区数.即 delta(rsect)/s wsec/s:    每

操作系统性能监控-网络IO

nicstat是监控网络IO的利器 1.查看网卡信息   2.查看网卡间隔2秒,2次 Time列:表示当前采样的响应时间. lo and eth0 : 网卡名称. rKB/s : 每秒接收到千字节数. wKB/s : 每秒写的千字节数. rPk/s : 每秒接收到的数据包数目. wPk/s : 每秒写的数据包数目. rAvs : 接收到的数据包平均大小. wAvs : 传输的数据包平均大小. %Util : 网卡利用率(百分比). Sat : 网卡每秒的错误数.网卡是否接近饱满的一个指标.尝试去

Windows系统性能监控设置

*** Windows系统性能监控设置 ### 注意:这是用Windows 2003时总结过的.今天有朋友问起来了,一想曾经总结过,也是看Windows帮助或网络上查询总结的,发出来留作纪念,回忆曾经维护上千台Windows 2003的岁月! 1.内存信息: Memory\ Available Bytes .Memory\ Pages/sec .Memory\ Available Bytes.Available Mbytes .Page/sec (1)如果您怀疑有内存泄露,请监视 Memory\

提高Linux操作系统性能

提高Linux操作系统性能 2011-01-05 13:48 佚名 字号:T | T 本文从磁盘,文件及文件系统,内存和编译等方面详细的讲述了如何对Linux系统性能进行调谐.不管是Linux服务器还是客户机或者用户单机,按照本文提供的调谐方法,均可不同程度地改善Linux系统的性能. AD:2014WOT全球软件技术峰会北京站 课程视频发布 Linux是高性能.稳定可靠而且又相当灵活的操作系统,近几年来,世界上许多大软件公司纷纷推出各种linux服务器及linux下的应用软件. 目前,Linu

Linux常用系统性能监控命令

-->Linux常用系统性能监控命令 Linux常用系统性能监控命令 2016-01-19 Linux爱好者 Linux爱好者 Linux爱好者 微信号 LinuxHub 功能介绍 伯乐在线旗下账号,「Linux爱好者」专注分享 Linux/Unix 相关内容,包括:工具资源.使用技巧.课程书籍等.   来源:工学1号馆 链接:http://wuyudong.com/archives/56 监控CPU使用率 使用下面的命令: [[email protected] ~]# gnome-system

Linux操作系统性能调优的方法

Linux操作系统性能调优的方法 2013-03-18 15:35 HonestQiao ChinaUnix 字号:T | T Linux是一套免费使用和自由传播的类Unix操作系统,Linux不同的发行版本和不同的内核对各项参数及设置均做了改动,从而使得系统能够获得更好的性能.本文分享了几种技巧对Linux操作系统进行性能的优化. AD:2014WOT全球软件技术峰会北京站 课程视频发布 按照传统,Linux不同的发行版本和不同的内核对各项参数及设置均做了改动,从而使得系统能够获得更好的性能.

Linux桌面操作系统性能分析学习总结

1.什么是计算机性能 所谓计算机的性能(Performance)通常是指计算机的速度,它是程序执行时间的倒数.而程序执行时间是指用户向计算机送入一个任务后,直到获得他需要的结果这一段等待时间. 包括: 1.访问磁盘和访问存储器的时间 2.CPU 运算时间 3.I/O 动作时间 4.操作系统的开销时间等. 2.Linux桌面操作系统性能分析意义 1.操作系统的性能直接影响了其上应用系统的性能 2.性能评估结果是用户在操作系统选购过程中的重要参考指标 3.为开发者优化操作系统的性能提供指导 4.为操