linux-command/command/sar.md

115 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

sar
===
系统运行状态统计工具
## 补充说明
**sar命令** 是Linux下系统运行状态统计工具它将指定的操作系统状态计数器显示到标准输出设备。sar工具将对系统当前的状态进行取样然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样获得大量的取样数据。取样数据和分析的结果都可以存入文件使用它时消耗的系统资源很小。
### 语法
```shell
sar(选项)(参数)
```
### 选项
```shell
-A: 显示所有的报告信息;
-b: 显示I/O速率
-B: 显示换页状态;
-c: 显示进程创建活动;
-d: 显示每个块设备的状态;
-e: 设置显示报告的结束时间;
-f: 从指定文件提取报告;
-i: 设状态信息刷新的间隔时间;
-n: 报告网络统计信息。
-P: 报告每个CPU的状态
-R: 显示内存状态;
-u: 显示CPU利用率
-v: 显示索引节点,文件和其他内核表的状态;
-w: 显示交换分区状态;
-x: 显示给定进程的状态。
```
```shell
-r: 以分页方式显示输出,每页最多显示 100 行。
-o: 输出选项,指定要显示的列。例如,`-o mrk,prt,cvg` 将显示 CPU 使用率、进程标识符、磁盘使用率 和 网络流量。
-t: 时间戳选项,指定要在输出中添加时间戳。
-s: 统计选项,指定要显示的统计数据的类型。例如,`-s us,ms` 将显示 CPU 使用率的 us 和 ms 时间段的平均值。
-c: 选项用于指定要发送的命令。例如,`-c ls` 将显示当前目录中的文件和子目录列表。
```
### 参数
* 间隔时间:每次报告的间隔时间(秒);
* 次数:显示报告的次数。
### 实例
**察看内存和交换空间的使用率:**
```shell
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分钟并对数据进行排序**
```shell
sar -o temp 60 10
```
**显示保存在每日数据文件“sa16”中的内存和网络统计信息。**
```shell
sar -r -n DEV -f /var/log/sa/sa16
```
**查看 CPU 使用率:**
```shell
sar -t
```
**查看磁盘使用率:**
```shell
sar -s disk
```
**查看网络流量:**
```shell
sar -s nic
```
**发送命令到系统服务:**
```shell
sar -c ls
```
**显示系统当前时间戳:**
```shell
sar -t +%s
```
这些只是 `sar` 命令的一些示例,您可以根据具体需求选择不同的选项和参数。
注意: `sar` 命令的输出结果可能会因为系统性能的不同而有所不同。如果要获得更准确的结果,请考虑在系统性能最佳的时候进行监控。