Linux下性能监控工具介绍

本文详细介绍了Linux系统中常用的性能监控工具,包括top、sar、vmstat、iostat和free。这些工具能够帮助系统管理员监测CPU、内存、磁盘I/O等关键指标,及时发现和解决问题。文章重点讲解了每个工具的使用方法、输出信息的解析以及如何根据这些信息评估系统性能。通过对这些命令的熟练掌握,可以有效提升Linux系统的管理和优化能力。
摘要由CSDN通过智能技术生成

应该养成使用这些工具的习惯。当然要知道如何诊断性能问题,但也应该定期寻找可能指示问题的关键指标的变化。可以使用这些工具衡量新应用程序对性能的影响。就如同查看车内的温度表一样,要注意Linux系统的性能指标。本章介绍的工具有:
·   top
·   sar
·   vmstat
·   iostat
·   free
    可以作为普通用户运行这些工具。它们都利用/proc文件系统得到它们的数据。这些性能工具和几个rpm一起提供。procps rpm提供top、free和vmstat。sysstat rpm提供sar和iostat。
    top命令是一个优秀的交互式实用工具,用于监视性能。它提供关于整体Linux性能的几个概要行,但是报告进程信息才是top真正的长处。可以广泛自定义进程显示,也可以添加字段,按照不同指标排序进程列表,甚至从top注销进程。
    sar实用工具提供监视每一事件的能力。它至少有15个单独的报告类别,包括CPU、磁盘、网络、进程、交换区等等。
    vmstat命令报告关于内存和交换区使用的广泛信息。它也报告CPU和一些I/O信息。iostat报告存储输入/输出(I/O)统计资料。
    这些命令覆盖许多相同的地方。本节讨论如何使用这些命令并解释每个命令产生的报告,并不讨论所有15种sar语法,但是介绍了其中最常见的。
3.1  top
    top命令是最流行的性能工具之一。大多数系统管理员 运行top查看Linux和UNIX系统的运行情况。top实用工具提供一种监视进程和Linux整体性能的理想方法。将Linux进程称作任务更准确, 但是在本章中我们还是将它们称作进程,因为这个工具也这样称呼它们。1普通用户和root用户都可以运行top。图3-1显示一个空闲系统的典型top输出。
图3-1  top输出
    top显示有两个部分。大约前三分之一显示关于Linux的整体信息,其余行为各个进程信息。如果扩展窗口则显示更多进程而填充整个屏幕。
    更全面的Linux信息可以通过使用top之外的几个 命令来得到。不过,通过一个命令在一个屏幕上显示所有信息比较理想。第一行显示最近1分钟、5分钟和15分钟的负载平均值。负载平均值表示在CPU上运行 或者等待运行多少进程。uptime命令也可以用来显示负载平均值。接下来是进程信息,之后是CPU、内存和交换区。内存和交换区信息与free命令输出 类似。在我们确定内存和CPU使用之后的下一个问题是哪些进程正在使用它。
    大部分进程信息也可以通过ps命令得到,但是top提供一种更易于阅读的格式。最有用的是用于提供帮助的h,它列出top的其他交互式命令。
3.1.1  添加和移除字段
    字段可以从显示中添加或移除。进程输出可以按照CPU、内存或者其他指标排序。这是一个查看什么进程抢夺内存的理想方法。各个Linux发布版本的top语法和交互式选项不同,帮助命令可以快速列出什么命令可用。有许多交互式选项可用,用户应该花费一些时间来试验它们。
    图3-2显示Red Hat Enterprise Linux ES release 3的帮助屏幕。
图3-2  top的帮助屏幕
    f命令用来从top输出中添加或者移除字段。图3-3是一个Red Hat Enterprise Linux ES release 3的帮助屏幕,显示什么字段可以添加。
图3-3  top添加/移除字段的屏幕
    图3-4显示一个SUSE Linux 9.0 top的帮助屏幕,可见它们提供的命令差别非常大。
图3-4  SUSE top的帮助屏幕
3.1.2  解释输出
    让我们研究top信息的意义,以top的如下输出为例:
    top输出的第一行显示负载平均值信息:
    这个输出与uptime的输出类似。从中可看到Linux已经运行时间、当前时间和用户数量,以及1分钟、5分钟和15分钟负载平均值。接下来显示进程概要:
    我们看到总共有73个进程,其中72个进程正在休眠, 一个进程正在运行,没有僵化进程或者被停止的进程。当一个进程退出并且它的父进程没有通过wait(2)或者waitpid(2)函数等待它时,它就会成 为僵化进程。这通常是由于父进程在它的子进程之前退出造成的。不同于进程表中的项,僵化进程不使用资源。停止的进程是已经向它发送STOP信号的进程。更 多信息,请参见signal(7)手册页。
    接下来是CPU信息:
    CPU行描述CPU如何使用它们的CPU周期。top 命令报告CPU在用户或者内核模式、运行良好进程以及处在空闲状态时所花费时间的百分比。iowait列显示没有进程在CPU上运行时,处理器等待I/O 完成的时间的百分比。irq和softirq列表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值