跳转至

sar

系统运行状态统计工具

补充说明

sar命令 是Linux下系统运行状态统计工具,它将指定的操作系统状态计数器显示到标准输出设备。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。

语法

1
sar(选项)(参数)

选项

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
-A: 显示所有的报告信息;
-b: 显示I/O速率;
-B: 显示换页状态;
-c: 显示进程创建活动;
-d: 显示每个块设备的状态;
-e: 设置显示报告的结束时间;
-f: 从指定文件提取报告;
-i: 设状态信息刷新的间隔时间;
-n: 报告网络统计信息。
-P: 报告每个CPU的状态;
-R: 显示内存状态;
-u: 显示CPU利用率;
-v: 显示索引节点,文件和其他内核表的状态;
-w: 显示交换分区状态;
-x: 显示给定进程的状态。
1
2
3
4
5
-r: 以分页方式显示输出,每页最多显示 100 行。  
-o: 输出选项,指定要显示的列。例如,`-o mrk,prt,cvg` 将显示 CPU 使用率、进程标识符、磁盘使用率  网络流量。  
-t: 时间戳选项,指定要在输出中添加时间戳。  
-s: 统计选项,指定要显示的统计数据的类型。例如,`-s us,ms` 将显示 CPU 使用率的 us  ms 时间段的平均值。  
-c: 选项用于指定要发送的命令。例如,`-c ls` 将显示当前目录中的文件和子目录列表。

参数

  • 间隔时间:每次报告的间隔时间(秒);
  • 次数:显示报告的次数。

实例

察看内存和交换空间的使用率:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
sar -r
Linux 2.4.20-8 (www.jsdig.com)    20130503  
12:00:01 AM kbmemfree kbmemused  %memused 
kbmemshrd kbbuffers  kbcached  
12:10:00 AM    240468   1048252     81.34    
0    133724    485772  
12:20:00 AM    240508   1048212     81.34   
0    134172    485600    
08:40:00 PM    934132    354588     27.51    
0     26080    185364  
Average:       324346    964374     74.83  
0     96072    467559 

kbmemfree与kbmemused字段分别显示内存的未使用与已使用空间,后面跟着的是已使用空间的百分比(%memused字段)。kbbuffers与kbcached字段分别显示缓冲区与系统全域的数据存取量,单位为KB。

观察系统部件10分钟,并对数据进行排序:

1
sar -o temp 60 10

显示保存在每日数据文件“sa16”中的内存和网络统计信息。

1
sar -r -n DEV -f /var/log/sa/sa16

查看 CPU 使用率:

1
sar -t

查看磁盘使用率:

1
sar -s disk

查看网络流量:

1
sar -s nic

发送命令到系统服务:

1
sar -c ls

显示系统当前时间戳:

1
sar -t +%s

这些只是 sar 命令的一些示例,您可以根据具体需求选择不同的选项和参数。

注意: sar 命令的输出结果可能会因为系统性能的不同而有所不同。如果要获得更准确的结果,请考虑在系统性能最佳的时候进行监控。