作为一个系统工程师,你经常需要生成一些显示系统资源利用率的报告,以便确保:1)正在合理利用系统,2)防止出现瓶颈,3)确保可扩展性,以及其它原因。
RHCE 第三部分:监视 Linux 性能活动报告
除了著名的用于检测磁盘、内存和 CPU 使用率的原生 Linux 工具 - 可以给出很多例子,红帽企业版 Linux 7 还提供了另外两个可以为你的报告更多数据的工具套装:sysstat 和 dstat。
在这篇文章中,我们会介绍两者,但首先让我们来回顾一下传统工具的使用。
原生 Linux 工具使用 df,你可以报告磁盘空间以及文件系统的 inode 使用情况。你需要监视这两者,因为缺少磁盘空间会阻止你保存更多文件(甚至会导致系统崩溃),就像耗尽 inode 意味着你不能将文件链接到对应的数据结构,从而导致同样的结果:你不能将那些文件保存到磁盘中。
#df-h [以人类可读形式显示输出]
#df-h --total [生成总计]
检查 Linux 总的磁盘使用
#df-i [显示文件系统的 inode 数目]
#df-i --total [生成总计]
检查 Linux 总的 inode 数目
用 du,你可以估计文件、目录或文件系统的文件空间使用。
举个例子,让我们来看看 /home 目录使用了多少空间,它包括了所有用户的个人文件。第一条命令会返回整个 /home 目录当前使用的所有空间,第二条命令会显示子目录的分类列表:
#du-sch /home
#du-sch /home/*
检查 Linux 目录磁盘大小
别错过了:
另一个你工具集中不容忽视的工具就是 vmstat。它允许你查看进程、CPU 和 内存使用、磁盘活动以及其它的大概信息。
如果不带参数运行,vmstat 会返回自从上一次启动后的平均信息。尽管你可能以这种方式使用该命令有一段时间了,再看一些系统使用率的例子会有更多帮助,例如在例子中定义了时间间隔。
例如
#vmstat510
会每个 5 秒返回 10 个事例:
检查 Linux 系统性能
正如你从上面图片看到的,vmstat 的输出分为很多列:proc(process)、memory、swap、io、system、和 CPU。每个字段的意义可以在 vmstat man 手册的 FIELD DESCRIPTION 部分找到。
在哪里 vmstat 可以派上用场呢?让我们在 yum 升级之前和升级时检查系统行为:
#vmstat-a 15
Vmstat Linux 性能监视
请注意当磁盘上的文件被更改时,活跃内存的数量增加,写到磁盘的块数目(bo)和属于用户进程的 CPU 时间(us)也是这样。
或者直接保存一个大文件到磁盘时(由 dsync 标志引发):
#vmstat-a 15
#ddif=/dev/zero of=dummy.out bs=1M count=1000 oflag=dsync
Vmstat Linux 磁盘性能监视
在这个例子中,我们可以看到大量的块被写入到磁盘(bo),这正如预期的那样,同时 CPU 处理任务之前等待 IO 操作完成的时间(wa)也增加了。
别错过: Vmstat – Linux 性能监视
其它 Linux 工具