【导语】:Linux 操作系统的系统性能监控工具。
简介
sysstat 包含了许多商用 Unix 通用的各种工具,用于监视系统性能和活动情况:
- iostat,统计设备和分区的CPU信息以及IO信息
- mpstat,统计处理器相关的信息
- pidstat,统计Linux进程的相关信息:IO、CPU、内存等
- tapstat,统计磁盘驱动器的相关信息
- cifsiostat,统计CIFS信息
sysstat 还包含使用 cron 或 systemd 执行定时任务的工具(默认的采样时间是10分钟,可以修改。),用来收集历史性能和活动数据:
- sar,统计并保存系统活动信息
- sadc,sar 的后端,是系统活动数据的收集齐
- sa1,收集二进制数据并将其村粗在系统活动每日数据文件中,是使用 cron或 systemd 运行的 sar 前端
- sa2,汇总日常系统活动,是使用 cron 或 systemd 运行的 sar 前端
- sadf,以多种格式显示 sar 收集的数据,如CSV、XML、JSON等,并可以用来与其他程序进行数据交换。
sar收集的系统统计信息包括:
- 输入/输出和传输速率统计信息
- CPU统计信息,包括对虚拟化体系结构的支持
- 内存、交换空间利用率的统计信息
- 虚拟内存、分页和故障统计
- 进程创建活动信息
- 中断信息统计,包括APIC中断,硬件中断,软件中断
- 网络统计信息,包括网络接口活动,网络设备故障,IP、TCP、UDP、ICMP协议的流量统计,支持IPv6
- 光纤通道流量统计
- 基于软件的网络统计信息
- NFS服务器和客户端活动
- 套接字统计
- 运行队列和系统负载统计
- 内核利用率统计信息
- 交换统计
- TTY设备活动
- 电源管理统计信息
- USB设备事件
- 文件系统利用率(节点和块)
- 失速信息统计
sysstat 的主要功能包括:
- 在报告中显示平均统计值。
- 检测动态创建或注册的新设备(磁盘,网络接口等)。
- 支持UP和SMP计算机,包括具有超线程或多核处理器的计算机。
- 支持热插拔CPU和tickless的CPU,自动检测正在动态禁用或启用的处理器。
- 适用于许多不同的体系结构,无论是32位还是64位。
- 占用很少的CPU时间(用C编写)。
- 可以将sar/sadc收集的系统统计信息保存在文件中。
- 可以以各种不同的格式(CSV,XML,JSON,SVG等)导出由sar/sadc收集的系统统计信息。
- iostat 可以显示由用户空间中的驱动程序管理的设备的统计信息。
- 彩色输出,易于阅读和理解。
- 国际化支持,systat 已经被翻译为多种不同的语言。
- 可以自动选择用于显示尺寸的单位,以便于阅读,参阅选项 --human
- 可以生成SVG图形,并显示在浏览器中。
项目地址:https://github.com/sysstat/sysstat
安装使用
sysstat的安装使用非常简单,安装包后,启动服务即可。
- REHL/Fedora/CentOS 使用以下命令安装:
$ sudo yum install sysstat
CentOS和Fedora系统使用 /etc/cron.d 中的 cron 作业来调用收集器进程,并且默认情况下已启用它。在最新版本中,使用 systemd 代替 cron。可能需要启用sysstat 服务:
$ sudo systemctl enable sysstat
$ sudo systemctl start sysstat
- Ubuntu 使用以下命令安装:
$ sudo apt-get install sysstat
然后启用数据收集功能:
// 编辑/etc/default/sysstat配置文件,将ENABLED="false"改为ENABLED="true",保存即可
$ sudo vi /etc/default/sysstat
重新启动 syastat 服务:
$ sudo service sysstat restart
- 源代码安装:下载源代码:
$ git clone git://github.com/sysstat/sysstat
编译安装:
$ cd sysstat
$ ./configure
$ make
$ sudo make install
开源前哨
日常分享热门、有趣和实用的开源项目。参与维护 10万+ Star 的开源技术资源库,包括:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。