57 lines
2.1 KiB
Markdown
57 lines
2.1 KiB
Markdown
|
# Sysstat 移植和使用
|
|||
|
|
|||
|
Linux 下的性能分析,包括CPU使用情况,内存使用情况,IO状态等等与系统相关的状态,少不了要使用 sysstat 工具包中的命令,它包括:cifsiostat iostat mpstat pidstat sadf sar tapestat 七条命令。但是对于嵌入式设备,一般的busybox里面不会包含sysstat里面的命令,或者说是这些命令有些功能已经被裁减了。为了更好的分析嵌入式设备的状态和性能,可以将sysstat工具包里的命令移植到嵌入式设备中。
|
|||
|
|
|||
|
## 移植
|
|||
|
|
|||
|
### syssta 主页
|
|||
|
|
|||
|
<http://sebastien.godard.pagesperso-orange.fr/>
|
|||
|
|
|||
|
### sysstat github
|
|||
|
|
|||
|
<https://github.com/sysstat/sysstat>
|
|||
|
|
|||
|
### 配置和交叉编译
|
|||
|
|
|||
|
```sh
|
|||
|
git clone git://github.com/sysstat/sysstat
|
|||
|
source <交叉编译环境变量>
|
|||
|
cd sysstat
|
|||
|
./configure --host=arm
|
|||
|
make
|
|||
|
```
|
|||
|
|
|||
|
## 使用
|
|||
|
|
|||
|
### 语法
|
|||
|
|
|||
|
```sh
|
|||
|
iostat [ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -z ] [ device [...] | ALL ] [ -p [ device [,...] | ALL ] ] [ interval [ count ] ]
|
|||
|
```
|
|||
|
|
|||
|
### 入门使用
|
|||
|
|
|||
|
参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;2表示,数据显示每隔2秒刷新一次。-x 选项将用于显示和io相关的扩展数据。-c 参数用来获取cpu部分状态值。
|
|||
|
|
|||
|
```sh
|
|||
|
iostat -d -k 2
|
|||
|
iostat -d sda 2
|
|||
|
iostat -d -x -k 1 10
|
|||
|
iostat -c 1 10
|
|||
|
```
|
|||
|
|
|||
|
### 输出信息的意义
|
|||
|
|
|||
|
tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。"一次传输"意思是"一次I/O请求"。多个逻辑请求可能会被合并为"一次I/O请求"。"一次传输"请求的大小是未知的。
|
|||
|
|
|||
|
kB_read/s:每秒从设备(drive expressed)读取的数据量;
|
|||
|
kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;
|
|||
|
kB_read:读取的总数据量;
|
|||
|
kB_wrtn:写入的总数量数据量;这些单位都为Kilobytes。
|
|||
|
|
|||
|
## 参考资料
|
|||
|
|
|||
|
[将sysstat工具包移植到嵌入式linux设备](https://blog.csdn.net/li_wen01/article/details/82682587)
|
|||
|
[Linux IO实时监控iostat命令详解](https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858810.html)
|