《Linux操作系统性能监控工具和指标分析V1.0》

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux操作系统性能监控工具和指标分析

目录

第一章绪论 (2)

1.1 Linux性能分析的目的 (2)

1.2Linux性能指标分析的命令 (2)

第二章性能分析 (5)

2.1 CPU性能评估标准 (5)

2.2Memory性能评估标准 (5)

2.3磁盘性能评估标准 (7)

2.4Network性能评估标准 (8)

2.5 监控工具 (9)

总结 (10)

参考文献 (11)

第一章绪论

Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。

Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个,一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。

然而Linux下面的版本相当的多,Radhat、Ubuntu、CentOS、Debian、SUSE、Gentoo等都是Linux内核,我们下面主要针对Linux内核下,监控工具和命令的讲解(部份命令,需要下载不同的操作系统所对应的插件!!)。

1.1 Linux性能分析的目的

Linux操作系统是一个开源产品,也是一个开源软件的实践和应用平台,在这个平台下由无数的开源软件支撑,常见的有Apache、Tomcat、MySQL、PHP等。开源软件的最大理念是自由、开放,那么Linux 作为一个开源平台,最终要实现的是通过这些开源软件的支持,以最低廉的成本,达到应用性能的最优化。但是,系统的性能问题并非是孤立的,解决了一个性能瓶颈,可能会出现另一个性能瓶颈,所以说性能优化的最终目的是:在一定范围内使系统的各项资源使用趋于合理并保持一定的平衡,即系统运行良好的时候恰恰就是系统资源达到了一个平衡状态的时候。而在操作系统中,任何一项资源的过度使用都会破坏这种平衡状态,从而导致系统响应缓慢或者负载过高。例如,CPU资源的过度使用会造成系统中出现大量的等待进程,导致应用程序响应缓慢,而进程的大量增加又会导致系统内存资源的增加,当物理内存耗尽时,系统就会使用虚拟内存,而虚拟内存的使用又会造成磁盘I/O的增加并加大CPU的开销。因此,系统性能的优化就是在硬件、操作系统、应用软件之间找到一个平衡点。

我们本次所讲的Linux性能分析都是基于Linux的基本命令和使用一些免费工具来完成。

1.2 Linux性能指标分析的命令

性能调优的第一步是性能分析,下面从性能分析着手进行一些介绍,尤其对Linux性能分析工具基础命令的用法和实践进行详细介绍

还有一些高级工具,详见下图:Linux性能监控工具及对应的内核层

内核层性能分析工具

针对这些命令,划分为如下几大类常用命令:

第二章Linux操作系统性能指标分析

由于非图形化操作系统,性能的监控和分析除了依靠一些监控工具,操作系统本身也提供了很多的命令本章主要讲解一些操作系统自带的命令的使用和简要的分析,2.5章节简单的介绍了一下监控工具。在使用过程中,可以依靠实际情况来使用;

2.1 CPU性能评估标准

CPU的速度与性能很大一部分决定了系统整体的性能,先确定是否使用SMP(多核处理器),当然大部分使用的都是多核处理器,那么在做性能分析分析的时候,我们需要分析整体CPU的性能,那么需要长期监控CPU,2.5章节是推荐的工具;

CPU是否有瓶颈需要针对不同类型的架构来判断,常规的判断标准是CPU的利用率小于80%,那么Idle要大于20%;

以下以Sar和vmstat命令讲解为例,简单的分析CPU问题:sar -u [interval] [iterations] (示例: sar -u 5 30) 步骤1:%Idle 是否很低? 这是CPU 未在运行任何进程的时间百分比。在一端时间内%idle 为零可能是CPU 瓶颈的第一个指示。不是-> 系统未发生CPU 瓶颈。转至步骤3。是-> 系统可能发生了CPU、内存或I/O 瓶颈。转至步骤2

步骤2:%usr是否较高?很多系统正常情况下花费80%的CPU时间用于用户,20%用于系统。其他系统通常会使用80%左右的用户时间。不是->系统可能遇到CPU、内存或I/O瓶颈。转至步骤3。

是->系统可能由于用户进程遇到CPU瓶颈。调整系统的CPU瓶颈。

步骤3:%wio的值是否大于15?是->以后记住这个值。它可能表示磁盘或磁带瓶颈。不是->转至步骤4。

步骤4:# sar -d [interval] [iterations]

用于任何磁盘的%busy是否都大于50? (请记住,50%指示一个大概的指南,它可能远远高于您系统的正常值。在某些系统上,甚至%busy值为20可能就表示发生了磁盘瓶颈,而其他系统正常情况下可能就为50% busy。)对于同一个磁盘上,avwait是否大于avserv?不是->很可能不是磁盘瓶颈,转至步骤6。是->此设备上好像发生了IO瓶颈。转至步骤5。

步骤5:系统上存在磁盘瓶颈,发生瓶颈的磁盘上有哪些内容?调整发生磁盘IO瓶颈的系统。Swap ->可能是由于内存瓶颈导致的。转至步骤6。

步骤6:# vmstat [interval] [iterations]在很长的一端时间内,po是否总是大于0?对于一个s800系统(free * 4k)是否小于2 MB,(对于s700系统free * 4k是否小于1 MB)?(值2 MB和1 MB指示大概的指南,真正的LOTSFREE值,即系统开始发生paging的值是在系统引导时计算的,它是基于系统内存的大小的。)不是->如果步骤1中的%idle较低,系统则很可能发生了CPU瓶颈。调整发生了CPU瓶颈的系统。如果%idle不是很低,则可能不是CPU、磁盘IO或者内存瓶颈。存在其他瓶颈。是->系统上存在内存瓶颈,调整发生内存瓶颈的系统。

2.2 Memory性能评估标准

内存的使用首先我们要自己系统的可用内存是多少,一般情况下,记录的free memory并不是实际性的可用内存,实际可用内存=free memory+buffers+cached如下图:

相关文档
最新文档