这些命令提供了宝贵的系统性能统计数据,有助于分析资源利用率、识别瓶颈和优化效率。
vmstat 命令可打印有关内存、交换、I/O 和 CPU 活动的详细报告。其中包括已用/可用内存、交换入/出、磁盘块读/写和 CPU 进程/闲置时间等指标。
例子:
vmstat 5
其他有用的 vmstat 选项:
上面的示例每 5 秒输出一次内存和 CPU 数据,直到中断为止,这对监控实时系统性能非常有用。
[root@xx web]# vmstat 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 115732 0 952956 0 0 0 2 2 4 0 0 99 0 0
每一列代表的意思:
procs: 进程统计信息
memory: 内存统计信息
swap: 交换空间统计信息
io: I/O 统计信息
system: 系统统计信息
cpu: CPU 统计信息
iostat 命令监控并显示 CPU 利用率和磁盘 I/O 指标。其中包括 CPU 负载、IOPS、读/写吞吐量等。
一些 iostat 选项:
下面每 5 秒钟显示一次 sda 每个设备的详细 I/O 统计信息。
iostat -d -p sda 5
iostat 可帮助分析磁盘子系统的性能,找出硬件瓶颈。
[root@xx web]# iostat
Linux 4.19.188-10.el7.ucloud.x86_64 (10-50-90-250) 01/11/2024 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.41 0.00 0.36 0.00 0.00 99.23
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.45 0.10 4.60 433948 19644449
每一列参数代表的意思:
avg-cpu:这一行统计了 CPU 使用情况的平均值。
Device:这一行显示了每个磁盘设备的统计数据。
free 命令显示系统中物理内存和交换内存的总量、已用量和空闲量。这将提供可用内存的总体情况。
例子:
free -h
free 命令的一些选项:
以人类可读格式(GB、MB 等)打印内存统计数据。当你想快速了解内存容量时,它非常有用。
df 命令显示文件系统的磁盘空间使用情况。它会显示文件系统名称、总/已用/可用空间和容量。
常用的参数选项:
例子:
df -h
上述命令将以人类可读的格式打印磁盘利用率。也可以不带参数运行该命令,以块大小获得相同的数据。
[root@xx web]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
devtmpfs devtmpfs 891628 0 891628 0% /dev
tmpfs tmpfs 904464 0 904464 0% /dev/shm
tmpfs tmpfs 904464 107052 797412 12% /run
tmpfs tmpfs 904464 0 904464 0% /sys/fs/cgroup
/dev/vda1 xfs 62903276 4308344 58594932 7% /
tmpfs tmpfs 180896 0 180896 0% /run/user/0
各列的含义:
sar 工具收集并记录一段时间内 CPU、内存、I/O、网络等系统活动信息。通过分析这些数据,可以发现性能问题。
语法:
sar [options] [interval [count]]
其中,[options] 是可选的命令选项,[interval] 是数据收集的时间间隔(以秒为单位),[count] 是指定收集的次数。
一些常用的 sar 参数选项和示例:
-u:显示 CPU 使用率统计数据。
示例:sar -u
-r:显示内存使用情况统计数据。
示例:sar -r
-b:显示磁盘 I/O 统计数据。
示例:sar -b
-n DEV:显示网络接口的统计数据,其中 DEV 是网络接口的名称,如 eth0。
示例:sar -n DEV
-q:显示运行队列和负载平均值的统计数据。
示例:sar -q
-A:显示所有可用的统计数据。
示例:sar -A
-s HH:MM:SS:从指定的起始时间开始显示统计数据。
示例:sar -s 10:00:00
-e HH:MM:SS:显示到指定的结束时间的统计数据。
示例:sar -e 12:00:00
-f FILE:指定 sar 数据文件的路径,用于读取预先记录的数据。在 Linux 系统上,默认情况下,sar 数据文件存储在 /var/log/sa/ 目录下,文件名以 sa 开头,后面跟着日期的数字表示,如 sa01、sa02 等。每个数据文件包含了特定日期的系统活动报告数据。
示例:sar -f /var/log/sa/sa01
-o OUTPUT_FILE:将统计数据写入指定的输出文件中,以便后续使用。
示例:sar -o output.txt
例子:
sar -u 5 60
每 5 秒采样一次 CPU 使用情况,持续 60 次。
sar 提供了实时工具无法提供的详细历史系统性能数据。