Linux 性能监控中 20 个有用的 ‘Sysstat’ 工具命令
简介
在 Linux 系统管理领域,性能监控是一项重要的任务。有很多工具可用于此目的,其中最广泛使用的是 Sysstat 工具。Sysstat 工具是一组提供详细系统性能信息的工具,包括 CPU 利用率、内存使用情况、磁盘活动和网络活动。
在本文中,我们将探讨 Linux 性能监控中 Sysstat 工具的 20 个有用命令。
Sysstat 工具的安装
在深入了解 Sysstat 工具命令之前,让我们首先讨论如何安装它们。Sysstat 工具通常包含在大多数 Linux 发行版中,因此您可能不需要手动安装它们。但是,如果您确实需要安装它们,可以使用以下命令:
对于基于 Debian 的发行版:
sudo apt-get install sysstat
对于基于 Red Hat 的发行版:
sudo yum install sysstat
用于性能监控的顶级 Sysstat 工具命令
现在我们已经对 Sysstat 工具有了概述,让我们探索一些用于性能监控的顶级命令。
sar -u
此命令提供 CPU 利用率统计信息。“-u”选项指定我们想要查看 CPU 统计信息。默认情况下,sar 显示所有 CPU 的 CPU 使用情况,但您可以使用“-P”选项指定特定的 CPU。例如,要查看 CPU 0 的 CPU 使用情况,请使用以下命令:
sar -u -P 0
sar -r
此命令提供内存利用率统计信息。“-r”选项指定我们想要查看内存统计信息。默认情况下,sar 显示所有内存类型的内存使用情况,但您可以使用“-B”选项指定特定的内存类型。例如,要查看缓冲区缓存的内存使用情况,请使用以下命令:
sar -r -B
sar -n DEV
此命令提供网络活动统计信息。“-n”选项指定我们想要查看网络统计信息,“DEV”指定我们想要查看特定于设备的统计信息。默认情况下,sar 显示所有设备的网络使用情况,但您可以使用“-I”选项指定特定的设备。例如,要查看 eth0 的网络使用情况,请使用以下命令:
sar -n DEV -I ALL -I SUM -I eth0
iostat -x
此命令提供详细的磁盘活动统计信息,包括读写时间、传输速率和磁盘利用率。“-x”选项指定我们想要查看扩展统计信息。默认情况下,iostat 显示所有磁盘的统计信息,但您可以使用“-d”选项指定特定的磁盘。例如,要查看 sda 的磁盘活动,请使用以下命令:
iostat -x -d sda
pidstat -u
此命令提供有关各个进程的详细信息,包括 CPU 使用情况、内存使用情况和 I/O 活动。“-u”选项指定我们想要查看 CPU 使用率统计信息。默认情况下,pidstat 显示所有进程的统计信息,但您可以使用“-p”选项指定特定的进程。例如,要查看进程 ID 为 1234 的进程统计信息,请使用以下命令:
pidstat -u -p 1234
sar -q
此命令提供负载平均统计信息。“-q”选项指定我们想要查看负载平均统计信息。默认情况下,sar 显示过去 1、5 和 15 分钟的负载平均值,但您可以使用“-s”选项指定不同的间隔。例如,要查看过去 10 分钟的负载平均值,请使用以下命令:
sar -q -s 10:00:00
sar -W
此命令提供交换空间利用率统计信息。“-W”选项指定我们想要查看交换空间统计信息。默认情况下,sar 显示所有设备的交换空间使用情况,但您可以使用“-p”选项指定特定的设备。例如,要查看 /dev/sda1 的交换空间使用情况,请使用以下命令:
sar -W -p /dev/sda1
sar -b
此命令提供块设备统计信息,包括读写操作和传输速率。“-b”选项指定我们想要查看块设备统计信息。例如,要查看 /dev/sda 的块设备统计信息,请使用以下命令:
sar -b -p /dev/sda
mpstat -P ALL
此命令提供每个 CPU 的利用率统计信息。“-P ALL”选项指定我们想要查看所有 CPU 的 CPU 统计信息。例如,要查看过去 5 秒的 CPU 统计信息,请使用以下命令:
mpstat -P ALL -I 5
iostat -t
此命令提供磁盘活动统计信息的时间戳信息。“-t”选项指定我们想要查看时间戳。例如,要查看 sda 的带时间戳的磁盘活动,请使用以下命令:
iostat -t -d sda
pidstat -r
此命令提供各个进程的内存利用率统计信息。“-r”选项指定我们想要查看内存统计信息。默认情况下,pidstat 显示所有进程的统计信息,但您可以使用“-p”选项指定特定的进程。例如,要查看进程 ID 为 1234 的进程的内存统计信息,请使用以下命令:
pidstat -r -p 1234
sar -y
此命令提供 TTY 设备的系统统计信息。“-y”选项指定我们想要查看 TTY 统计信息。默认情况下,sar 显示所有 TTY 设备的统计信息,但您可以使用“-t”选项指定特定的设备。例如,要查看 tty1 的 TTY 统计信息,请使用以下命令:
sar -y -t tty1
sar -n TCP,ETCP
此命令提供 TCP 和扩展 TCP 统计信息。“-n TCP,ETCP”选项指定我们想要查看 TCP 和扩展 TCP 统计信息。默认情况下,sar 显示所有 TCP 连接的统计信息,但您可以使用“-s”选项指定特定的连接。例如,要查看过去一小时的 TCP 和扩展 TCP 统计信息,请使用以下命令:
sar -n TCP,ETCP -s 10:00:00 -e 11:00:00
sar -n DEV
此命令提供网络设备统计信息,包括网络流量和错误。“-n DEV”选项指定我们想要查看网络设备统计信息。
例如,要查看 eth0 的网络设备统计信息,请使用以下命令:
sar -n DEV -I eth0
sar -S
此命令提供内核统计信息,包括上下文切换和中断。“-S”选项指定我们想要查看内核统计信息。默认情况下,sar 显示最后时间间隔的统计信息,但您可以使用“-I”选项指定不同的时间间隔。例如,要查看过去 5 分钟的内核统计信息,请使用以下命令:
sar -S -I 300
sar -A
此命令提供所有可用统计信息的摘要。“-A”选项指定我们想要查看所有可用统计信息。默认情况下,sar 显示最后时间间隔的统计信息,但您可以使用“-s”和“-e”选项指定不同的时间间隔。例如,要查看过去一小时的所有可用统计信息的摘要,请使用以下命令:
sar -A -s 10:00:00 -e 11:00:00
sar -u ALL
此命令提供所有 CPU 的 CPU 利用率统计信息。“-u ALL”选项指定我们想要查看所有 CPU 的 CPU 统计信息。例如,要查看过去一小时所有 CPU 的 CPU 利用率统计信息,请使用以下命令:
sar -u ALL -s 10:00:00 -e 11:00:00
sar -P ALL
此命令提供所有 CPU 的每个 CPU 的利用率统计信息。“-P ALL”选项指定我们想要查看所有 CPU 的 CPU 统计信息。例如,要查看过去一小时所有 CPU 的每个 CPU 的利用率统计信息,请使用以下命令:
sar -P ALL -s 10:00:00 -e 11:00:00
sar -r
此命令提供内存利用率统计信息。“-r”选项指定我们想要查看内存统计信息。例如,要查看过去一小时的内存利用率统计信息,请使用以下命令:
sar -r -s 10:00:00 -e 11:00:00
sar -b
此命令提供块设备统计信息,包括读写操作和传输速率。“-b”选项指定我们想要查看块设备统计信息。默认情况下,sar 显示最后时间间隔的统计信息,但您可以使用“-s”和“-e”选项指定不同的时间间隔。例如,要查看过去一小时的块设备统计信息,请使用以下命令:
sar -b -s 10:00:00 -e 11:00:00
结论
总之,sysstat 软件包提供了各种有用的工具来监控 Linux 系统上的系统性能。使用 sar,我们可以监控 CPU、内存、磁盘、网络和其他系统资源。能够查看一段时间内的统计信息,无论是在实时还是历史记录中,都使我们能够识别性能问题和潜在的瓶颈,使其成为系统管理员和开发人员必不可少的工具。