当前位置 > 主页 > 万和大讲堂 >


南京RHCE培训学习之如何使用 Linux 工具集生成和发送系统活动报告

2016-04-01 15:11

作为一个系统工程师,你经常需要生成一些显示系统资源利用率的报告,以便确保:1)正在合理利用系统,2)防止出现瓶颈,3)确保可扩展性,以及其它原因。今天南京RHCE培训给大家介绍两个可以为你的报告更多数据的工具套装:sysstat 和 dstat。

首先让我们来回顾一下传统工具的使用。

原生 Linux 工具

使用 df,你可以报告磁盘空间以及文件系统的 inode 使用情况。你需要监视这两者,因为缺少磁盘空间会阻止你保存更多文件(甚至会导致系统崩溃),就像耗尽 inode 意味着你不能将文件链接到对应的数据结构,从而导致同样的结果:你不能将那些文件保存到磁盘中。

# df -h         [以人类可读形式显示输出]# df -h --total         [生成总计]

检查 Linux 总的磁盘使用

# df -i         [显示文件系统的 inode 数目]# df -i --total     [生成总计]

检查 Linux 总的 inode 数目

用 du,你可以估计文件、目录或文件系统的文件空间使用。

举个例子,让我们来看看 /home 目录使用了多少空间,它包括了所有用户的个人文件。第一条命令会返回整个 /home 目录当前使用的所有空间,第二条命令会显示子目录的分类列表:  南京RHCE培训

# du -sch /home# du -sch /home/*

检查 Linux 目录磁盘大小

别错过了:

  • 检查 Linux 磁盘空间使用的 12 个 ‘df’ 命令例子

  • 查看文件/目录磁盘使用的 10 个 ‘du’ 命令例子

另一个你工具集中不容忽视的工具就是 vmstat。它允许你查看进程、CPU 和 内存使用、磁盘活动以及其它的大概信息。

如果不带参数运行,vmstat 会返回自从上一次启动后的平均信息。尽管你可能以这种方式使用该命令有一段时间了,再看一些系统使用率的例子会有更多帮助,例如在例子中定义了时间间隔。   南京RHCE培训

例如

# vmstat 5 10

会每个 5 秒返回 10 个事例:

检查 Linux 系统性能

正如你从上面图片看到的,vmstat 的输出分为很多列:proc(process)、memory、swap、io、system、和 CPU。每个字段的意义可以在 vmstat man 手册的 FIELD DESCRIPTION 部分找到。

在哪里 vmstat 可以派上用场呢?让我们在 yum 升级之前和升级时检查系统行为:  南京RHCE培训

# vmstat -a 1 5

Vmstat Linux 性能监视

请注意当磁盘上的文件被更改时,活跃内存的数量增加,写到磁盘的块数目(bo)和属于用户进程的 CPU 时间(us)也是这样。

或者直接保存一个大文件到磁盘时(由 dsync 标志引发):

# vmstat -a 1 5# dd if=/dev/zero of=dummy.out bs=1M count=1000 oflag=dsync

Vmstat Linux 磁盘性能监视

在这个例子中,我们可以看到大量的块被写入到磁盘(bo),这正如预期的那样,同时 CPU 处理任务之前等待 IO 操作完成的时间(wa)也增加了。    南京RHCE培训

其它 Linux 工具

正如本文介绍部分提到的,这里有其它的工具你可以用来检测系统状态和利用率(不仅红帽,其它主流发行版的官方支持库中也提供了这些工具)。

sysstat 软件包包含以下工具:

  • sar (收集、报告、或者保存系统活动信息)。

  • sadf (以多种方式显示 sar 收集的数据)。

  • mpstat (报告处理器相关的统计信息)。

  • iostat (报告 CPU 统计信息和设备以及分区的 IO统计信息)。

  • pidstat (报告 Linux 任务统计信息)。

  • nfsiostat (报告 NFS 的输出/输出统计信息)。

  • cifsiostat (报告 CIFS 统计信息)

  • sa1 (收集并保存二进制数据到系统活动每日数据文件中)。

  • sa2 (在 /var/log/sa 目录写入每日报告)。

dstat 比这些工具所提供的功能更多一些,并且提供了更多的计数器和更大的灵活性。你可以通过运行 yum info sysstat 或者 yum info dstat 找到每个工具完整的介绍,或者安装完成后分别查看每个工具的 man 手册。    南京RHCE培训

安装两个软件包:

# yum update && yum install sysstat dstat

sysstat 主要的配置文件是 /etc/sysconfig/sysstat。你可以在该文件中找到下面的参数:

# How long to keep log files (in days).# If value is greater than 28, then log files are kept in# multiple directories, one for each month.HISTORY=28# Compress (using gzip or bzip2) sa and sar files older than (in days):COMPRESSAFTER=31# Parameters for the system activity data collector (see sadc manual page)# which are used for the generation of log files.SADC_OPTIONS="-S DISK"# Compression program to use.ZIP="bzip2"

sysstat 安装完成后,/etc/cron.d/sysstat 中会添加和启用两个 cron 任务。第一个任务每 10 分钟运行系统活动计数工具,并在 /var/log/sa/saXX 中保存报告,其中 XX 是该月的一天。

因此,/var/log/sa/sa05 会包括该月份第 5 天所有的系统活动报告。这里假设我们在上面的配置文件中对 HISTORY 变量使用默认的值:

*/10 * * * * root /usr/lib64/sa/sa1 1 1

标签: 篮球 Java开班

-->
最近开班 more>
  • Python基础班
  • Java全栈开发
  • 前端基础班
  • 软件测试
  • 云原生精英班
  • 云网预科班
  • CISP
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCM 12C
  • OCP 19C
  • RHCE 9.0
  • 随时开课
  • 12月26日
  • 随时开课
  • 12月4日
  • 12月16日
  • 12月9日
  • 12月21日
  • 1月6日
  • 12月30日
  • 12月16日
  • 12月21日
  • 12月7日
  • 12月7日
  • ——
  • 随时开课
  • 12月16日
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入