当前位置: 首页 > article >正文

Linux性能监控工具汇总


文章目录

  • 前言
  • 一、性能监控工具介绍
    • 1.概念介绍
    • 2.常用组合方式
    • 3.对比
  • 二、sar工具
    • 1.sar安装
    • 2.sar工具参数
    • 3.sar工具使用示例
      • 3.1.每两秒采集一次cpu使用情况,总计采集2次,然后输出CPU使用情况的统计信息
      • 3.2.磁盘IO使用情况统计
      • 3.3.内存使用情况统计
      • 3.4.网卡流量使用情况统计
  • 三、vmstat工具
    • 1.vmstat工具常用参数示例
    • 2.vmstat工具使用示例
      • 2.1.每 2 秒查看一次服务器状态,持续2次
  • 四、iostat工具
    • 1.iostat工具常用参数
    • 2.iostat工具使用示例
      • 2.1.显示所有设备负载情况
      • 2.2.查看设备使用率(%util)
  • 五、tsar工具
    • 1.tsar工具介绍及安装
    • 2.tsar工具参数解释
    • 3.tsar常用命令示例
      • 3.1.监控系统的cpu
      • 3.2.监控内存使用情况
      • 3.3.查看指定时间的CPU平均负载


前言

在现代 IT 环境中,运维人员扮演着确保服务器稳定性和性能的关键角色。面对复杂的系统架构和不断变化的负载需求,如何有效监控服务器的各项性能指标成为我们日常工作的重中之重。磁盘读写速度、I/O 活动、CPU 使用率、内存消耗、网络流量及系统负载等,都是影响服务器健康状态的重要参数。幸运的是,Linux 提供了一系列强大而实用的工具,如 vmstat、sar、iostat 和 tsar,它们不仅能够实时监测这些关键指标,还能帮助我们深入洞察系统的运行细节,快速定位和解决潜在问题。让我们一同探讨这些工具如何成为我们运维工作中的得力助手。


一、性能监控工具介绍

1.概念介绍

1.常用系统命令
vmstat、sar、iostat、tsar

2.主要方向:
	sar主要用于收集并统计系统资源的信息,包括CPU、IO、内存、网卡流量等
	
	vmstat命令主要是对操作系统的虚拟内存、进程、IO读写、CPU活动等整体情况进行统计。但是它不能对某个进程进行深入分析。
	相比top,通过vmstat可以看到整个机器的 CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率。

	iostat用于输出CPU和磁盘I/O相关的统计信息 
	
	tsar工具是对sar工具的一个整合,源于阿里巴巴一款自研工具

2.常用组合方式

	• 用vmstat、sar、iostat检测是否是CPU瓶颈
	• 用free、vmstat检测是否是内存瓶颈
	• 用iostat检测是否是磁盘I/O瓶颈

3.对比

以下是 vmstatiostatsartsar 工具的关键点对比表格:

工具主要功能适用场景关键指标备注
vmstat虚拟内存、进程和 CPU 状态统计监控内存和 CPU 使用,定位内存压力和 CPU 饱和问题- r: 等待 CPU 的进程数
- b: 阻塞的进程数
- swpd: 交换区使用的内存量
- free: 空闲内存量
- si, so: 交换操作
- us, sy, id, wa: CPU 使用状态
快速查看系统健康,适合内存和 CPU 性能分析
iostatCPU 和 I/O 性能统计监控磁盘 I/O 性能,查找磁盘 I/O 性能瓶颈- tps: 每秒 I/O 请求数
- kB_read/s, kB_wrtn/s: 磁盘读写速率
- iowait: I/O 等待时间
%util: 磁盘使用率
专注于磁盘 I/O 性能,适合磁盘瓶颈分析
sar系统活动报告,广泛涵盖 CPU、内存、I/O长期监控,历史数据分析,生成报告- %cpu: CPU 使用率
- memory: 内存使用情况
- swap: 交换区使用
- i/o: 磁盘 I/O 活动
- network: 网络流量
支持历史数据,适合长期监控和问题回溯
tsar系统活动报告,支持模块扩展多模块监控,定制化报告,实时监控- cpu: CPU 使用状态
- io: 磁盘 I/O 状态
- mem: 内存使用情况
- net: 网络流量
- load: 系统负载
灵活性强,适合自定义监控和报告生成

二、sar工具

1.sar安装

命令如下(示例):

#sysstat中包含了sar、vmstat、iostat
[root@ops ~]# yum -y install sysstat

#命令格式
sar [options] [-A] [-o file] t [n]
其中
t 代表采样间隔,n为采样次数,默认值是1
-o file:表示将命令结果以二进制格式存放在文件中,file 是文件名。
options 为命令行选项,如下表所示

2.sar工具参数

参数如下(示例):

选项描述
-A所有报告的总和
-a文件读写情况
-b显示I/O和传送速率的统计信息
-c输出进程统计信息,每秒创建的进程数
-d输出每一个块设备的活动信息
-r输出内存和交换空间的统计信息
-u输出CPU使用情况的统计信息
-v输出inode、文件和其他内核表的统计信息
-R输出内存页面的统计信息
-y终端设备活动情况
-w输出系统交换活动信息
-n显示网络使用情况,-n后接关键词”DEV”可显示eth0、eth1等网卡的信息

3.sar工具使用示例

3.1.每两秒采集一次cpu使用情况,总计采集2次,然后输出CPU使用情况的统计信息

[root@ops ~]# sar -u 2 5
Linux 4.19.90-24.4.v2101.ky10.x86_64 (ops.jdicity.local) 	02/19/2025 	_x86_64_	(1 CPU)

10:27:42 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
10:27:44 PM     all      0.00      0.00      0.50      0.00      0.00     99.50
10:27:46 PM     all      0.00      0.00      1.00      0.00      0.00     99.00
Average:        all      0.60      0.00      0.60      0.00      0.00     98.80

输出说明:
	CPU: all 表示统计信息为所有 CPU 的平均值。
	%user: 显示在用户态级别(application)运行使用 CPU 总时间的百分比。
	%nice: 显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。
	%system: 在内核态级别(kernel)运行所使用 CPU 总时间的百分比。
	%iowait: 显示用于等待I/O操作占用 CPU 总时间的百分比。
	%steal: 管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。
	%idle: 显示 CPU 空闲时间占用 CPU 总时间的百分比。

注意事项:
	1. 若 %iowait 的值过高,表示硬盘存在I/O瓶颈
	2. 若 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量
	3. 若 %idle 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU

3.2.磁盘IO使用情况统计

[root@ops ~]# sar -d -p 1 1
Linux 4.19.90-24.4.v2101.ky10.x86_64 (ops.jdicity.local) 	02/19/2025 	_x86_64_	(1 CPU)

10:33:31 PM       DEV       tps     rkB/s     wkB/s     dkB/s   areq-sz    aqu-sz     await     %util
10:33:32 PM       sr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:33:32 PM       sdb      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:33:32 PM       sda      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:33:32 PM klas-root      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:33:32 PM klas-swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:          DEV       tps     rkB/s     wkB/s     dkB/s   areq-sz    aqu-sz     await     %util
Average:          sr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:          sdb      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:          sda      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:    klas-root      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:    klas-swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

输出说明:
	tps: 每秒 I/O 操作次数(Transactions per second)。这是设备在每秒钟内完成的读写请求次数。该值越大,表明磁盘的 I/O 活动越频繁。
	rkB/s: 每秒读取的数据量(Read kilobytes per second)。它显示了每秒从磁盘读取的字节数,单位为千字节(KB)。
	wkB/s: 每秒写入的数据量(Write kilobytes per second)。它显示了每秒向磁盘写入的字节数,单位为千字节(KB)。
	dkB/s: 每秒磁盘活动量(Disk kilobytes per second)。表示磁盘的总 I/O 活动量(读取 + 写入)。
	areq-sz: 平均请求大小(Average request size)。它是每次磁盘 I/O 请求的平均大小,单位为字节。
	aqu-sz: 平均队列大小(Average queue size)。它表示磁盘 I/O 队列中平均排队等待的请求数。
	await: 平均等待时间(Average wait time)。它表示磁盘 I/O 请求的平均响应时间(包括等待时间和实际执行时间),单位为毫秒(ms)。
	%util: 磁盘使用率(Disk utilization)。它表示磁盘设备忙碌的时间百分比,即磁盘的 I/O 使用率。如果值接近 100%,表示磁盘几乎处于满负荷状态

3.3.内存使用情况统计

[root@ops ~]# sar -r 1 2
Linux 4.19.90-24.4.v2101.ky10.x86_64 (ops.jdicity.local) 	02/19/2025 	_x86_64_	(1 CPU)

10:35:29 PM kbmemfree   kbavail kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
10:35:30 PM    165804    636800    205852     21.10      1664    493664    752220     77.10    308236    304276        28
10:35:31 PM    165744    636740    205912     21.11      1664    493664    752220     77.10    308236    304276        28
Average:       165774    636770    205882     21.10      1664    493664    752220     77.10    308236    304276        28

输出说明:
	kbmemfree 空闲物理内存
	kbmemused 已使用物理内存
	%memused 已使用内存占总内存百分比
	kbbuffers Buffer Cache大小
	kbcached Page Cache大小
	kbcommit 应用程序当前使用内存大小
	%commit 应用程序使用内存百分比

3.4.网卡流量使用情况统计

[root@ops ~]# sar -n DEV 1 1
Linux 4.19.90-24.4.v2101.ky10.x86_64 (ops.jdicity.local) 	02/19/2025 	_x86_64_	(1 CPU)

10:42:19 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
10:42:20 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:42:20 PM     ens33      2.97      2.97      0.22      0.31      0.00      0.00      0.00      0.00
10:42:20 PM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:        ens33      2.97      2.97      0.22      0.31      0.00      0.00      0.00      0.00
Average:      docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

输出说明:
	IFACE: 网络接口名称
	rxpck/s: 每秒收包的数量
	txpck/s: 每秒发包的数量
	rxkB/s: 每秒收的数据量(kB为单位)
	txkB/s: 每秒发的数据量(kB为单位)
	rxcmp/s: 每秒钟接收的压缩数据包
	txcmp/s: 每秒钟发送的压缩数据包
	rxmcst/s: 每秒钟接收的多播数据包

三、vmstat工具

1.vmstat工具常用参数示例

参数含义解释
-a, --active显示活动/非活动内存显示内存中被使用的和没有被使用(空闲)的部分。
-f, --forks显示自系统启动以来的进程创建数量显示从系统启动开始,创建的子进程(fork)的数量。
-m, --slabs显示内核的 Slab 缓存信息显示内核缓存的详细信息(用于管理内存的小块)。
-n, --one-header只显示一次标题行在显示统计信息时,标题只显示一次,而不是每次刷新时都显示。
-s, --stats显示事件计数器统计信息显示系统事件(如上下文切换、硬件中断、软中断等)发生的次数。
-d, --disk显示磁盘相关统计信息显示磁盘的使用情况(如读写次数、IO等待等)。
-D, --disk-sum汇总磁盘统计数据汇总并显示磁盘的整体统计信息,而不是单独显示每个磁盘的统计。
-p, --partition <dev>显示特定磁盘分区的统计信息显示指定磁盘分区(如 /dev/sda1)的统计信息。
-S, --unit <char>设置输出的单位类型定义输出的单位,例如可以选择 k(千字节)、M(兆字节)等。
-w, --wide扩展输出宽度显示更宽的输出格式,适合查看更详细的信息。
-t, --timestamp显示时间戳显示每行数据前加上时间戳,以便知道数据的具体时间。
-h, --help显示帮助信息显示 vmstat 命令的使用帮助。
-V, --version显示版本信息显示 vmstat 命令的版本号。

2.vmstat工具使用示例

2.1.每 2 秒查看一次服务器状态,持续2次

[root@ops ~]# vmstat 2 2
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 163636   1664 535692    0    0    95    33   73  185  3  1 95  1  0
 0  0      0 163576   1664 535692    0    0     0    26   61  120  0  1 100  0  0
输出解释:
procs:
  r 表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU个数,说明CPU不足。
  b 表示等待资源的进程数,比如正在等待I/O、或者内存交换等。
memory:
  swpd 虚拟内存使用量。即切换到内存交换区的内存数量。如果大于0,表示机器物理内存不足。
  free 空闲物理内存
  buff 作为buff使用的内存
  cache 作为cache使用的内存
swap:
  si  每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够或者内存泄露了,要查找耗内存进程解决掉。
  so  每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。  一般情况下,si、so的值都为0,如果si、so的值长期不为0,则表示内存不足。
 io:
  bi  块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte
  bo  块设备每秒发送的块数量  设置的bi+bo参考值为1000,如果超过1000,而且wa值较大,则表示系统磁盘IO有问题,应该考虑提高磁盘的读写性能。
system:
  in 每秒CPU的中断次数,包括时间中断。
  cs 每秒上下文切换次数  这两个值越大,内核消耗的CPU就越多
cpu:
  us 用户进程消耗的CPU时间百分比,us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,就需要考虑优化程序或算法
  sy 内核进程消耗的CPU时间百分比,sy值如果太高,说明内核消耗CPU资源很多,例如是IO操作频繁。
  id CPU处于空闲状态的时间百分比。
  wa io等待所占用的时间百分比,wa值越高,说明IO等待越严重,根据经验,wa的参考值为20%,如果wa超过20%,说明IO等待严重,引起IO等待的     原因可能是磁盘大量随机读写造成的,也可能是磁盘或者磁盘控制器的带宽瓶颈造成的(主要是块操作)

重点参数 r,b,swpd,free,buff,cache,si,so,bi,bo

四、iostat工具

1.iostat工具常用参数

参数含义
-c只显示系统CPU统计信息,即单独输出avg-cpu结果,不包括device结果
-d单独输出Device结果,不包括cpu结果
-k/-m输出结果以kB/mB为单位,而不是以扇区数为单位
-x输出更详细的io设备统计信息
interval/count每次输出间隔时间,count表示输出次数,不带count表示循环输出

2.iostat工具使用示例

2.1.显示所有设备负载情况

[root@ops ~]# iostat 
Linux 4.19.90-24.4.v2101.ky10.x86_64 (ops.jdicity.local) 	02/19/2025 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.45    0.15    1.16    0.45    0.00   95.78

Device             tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscd
dm-0              1.79        69.74        24.92         0.00     405754     144991          0
dm-1              0.02         0.36         0.00         0.00       2088          0          0
sda               1.98        71.75        25.27         0.00     417441     147039          0
sdb               0.40         0.92         0.43         0.00       5357       2526          0
scd0              0.00         0.18         0.00         0.00       1046          0          0

avg-cpu属性值说明:
	%user: CPU处在用户模式下的时间百分比。
	%nice: CPU处在带NICE值的用户模式下的时间百分比。
	%system: CPU处在系统模式下的时间百分比。
	%iowait: CPU等待输入输出完成时间的百分比。
	%steal: 管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
	%idle: CPU空闲时间百分比。
	
注意:
	如果%iowait的值超过50%,或者明显大于%system、%user以及%idle,表示IO可能存在问题
	如果%idle值高,表示CPU较空闲
	如果%idle值高但系统响应慢时,可能是CPU等待分配内存,应加大内存容量。
	如果%idle值持续低于cpu核数,表明CPU处理能力相对较低,系统中最需要解决的资源是CPU。
	
Device: 各磁盘设备的IO统计信息。各列含义如下:
	tps: 每秒 I/O 操作数(Transactions Per Second)。表示设备每秒钟进行的读写操作次数。
	kB_read/s: 每秒读取的数据量,单位是千字节(KB/s)。
	kB_wrtn/s: 每秒写入的数据量,单位是千字节(KB/s)。
	kB_dscd/s: 每秒丢弃的数据量,单位是千字节(KB/s),通常与磁盘操作错误相关。
	kB_read: 从设备读取的总字节数(自系统启动以来,单位是千字节)。
	kB_wrtn: 向设备写入的总字节数(自系统启动以来,单位是千字节)。
	kB_dscd: 自系统启动以来丢弃的字节数。

2.2.查看设备使用率(%util)

[root@ops ~]# iostat -d -x -k 1 1
Linux 4.19.90-24.4.v2101.ky10.x86_64 (ops.jdicity.local) 	02/19/2025 	_x86_64_	(1 CPU)

Device            r/s     rkB/s   rrqm/s  %rrqm r_await rareq-sz     w/s     wkB/s   wrqm/s  %wrqm w_await wareq-sz     d/s     dkB/s   drqm/s  %drqm d_await dareq-sz  aqu-sz  %util
sda              1.48     69.49     0.00   0.13   18.53    46.95    0.44     24.51     0.19  29.80    1.91    55.56    0.00      0.00     0.00   0.00    0.00     0.00    0.03   0.86
sdb              0.38      0.89     0.00   0.00    1.22     2.37    0.01      0.42     0.00   7.69    6.20    42.11    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.05

说明:
	Device: 磁盘设备名称,如 sda、sdb 等。
	r/s: 每秒读取的请求次数(reads per second),表示每秒从设备读取的 I/O 请求次数。
	rkB/s: 每秒读取的千字节数(read kilobytes per second),表示设备每秒读取的数据量(单位:KB/s)。
	rrqm/s: 每秒合并的读取请求数(read requests merged per second),表示系统每秒合并的读取请求数量。
	%rrqm: 合并读取请求的百分比,表示合并的读取请求占总读取请求的百分比。
	r_await: 读取请求的平均等待时间(read await),单位为毫秒,表示从发起读取请求到完成读取操作的平均等待时间。
	rareq-sz: 读取请求的平均大小(read average request size),单位为千字节,表示每个读取请求的平均大小。
	w/s: 每秒写入的请求次数(writes per second),表示每秒向设备写入的 I/O 请求次数。
	wkB/s: 每秒写入的千字节数(write kilobytes per second),表示设备每秒写入的数据量(单位:KB/s)。
	wrqm/s: 每秒合并的写入请求数(write requests merged per second),表示系统每秒合并的写入请求数量。
	%wrqm: 合并写入请求的百分比,表示合并的写入请求占总写入请求的百分比。
	w_await: 写入请求的平均等待时间(write await),单位为毫秒,表示从发起写入请求到完成写入操作的平均等待时间。
	wareq-sz: 写入请求的平均大小(write average request size),单位为千字节,表示每个写入请求的平均大小。
	d/s: 每秒丢弃的请求次数(discard requests per second),表示每秒丢弃的 I/O 请求次数。
	dkB/s: 每秒丢弃的数据量(discard kilobytes per second),表示设备每秒丢弃的数据量(单位:KB/s)。
	drqm/s: 每秒合并的丢弃请求数(discard requests merged per second),表示系统每秒合并的丢弃请求数量。
	%drqm: 合并丢弃请求的百分比,表示合并的丢弃请求占总丢弃请求的百分比。
	d_await: 丢弃请求的平均等待时间(discard await),单位为毫秒,表示从发起丢弃请求到完成丢弃操作的平均等待时间。
	dareq-sz: 丢弃请求的平均大小(discard average request size),单位为千字节,表示每个丢弃请求的平均大小。
	aqu-sz: I/O 队列的平均深度(average queue size),表示当前 I/O 队列中等待处理的请求数量的平均值。
	%util: 采用周期内用于IO操作的时间比率,即IO队列非空的时间比率,,一般该值超过80%表示该磁盘可能处于繁忙状态。,即一秒中有百分之多少的时间用于 I/O,如果%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷
idle小于70% IO压力就较大了,一般读取速度有较多的wait。

总结:
	%util 和 r_await / w_await 是两个最直接反映磁盘 I/O 性能的指标。如果发现磁盘的利用率接近 100% 或等待时间较长,那就需要特别关注这些磁盘。

五、tsar工具

1.tsar工具介绍及安装

tsar是阿里巴巴自己开发的一个采集工具(类似于sar工具),主要用来收集服务器的系统信息(如cpu,io,mem,tcp等),
以及应用数据(如squid haproxy nginx等)。收集到的数据存储在磁盘上,可以随时查询历史信息,输出方式灵活多样,
另外支持将数据存储到mysql中,也可以将数据发送到报警服务器。

tsar在展示数据时,可以指定模块,并且可以对多条信息的数据进行merge输出,
带--live参数可以输出秒级的实时信息。
tsar可以通过编写模块轻松扩展,这使得它成为一个功能强大且多功能的报告工具。
tsar的三种运行模式:

    print模式,仅仅输出指定的模块信息,默认显示最近一天的

    live模式,是输出当前信息,可以精确到秒级

    cron模式,此一般是crontab定时执行,每一分钟采集一次所有配置的模块信息,并将数据写入原始文件,在cron运行的时候 会判断是否配置输出到db或者监控,如果配置则将相应格式的数据输出到对应接口

安装tsar工具

[root@ops ~]# wget -O tsar.zip https://github.com/alibaba/tsar/archive/master.zip --no-check-certificate
[root@ops ~]# unzip tsar.zip
[root@ops ~]# cd tsar-master/
[root@ops tsar-master]# make
[root@ops tsar-master]# make install

文件目录解释

	 /etc/tsar/tsar.conf     这是tsar的主要配置文件;
	 /etc/cron.d/tsar        用于每分钟运行tsar收集信息;
	 /etc/logrotate.d/tsar   将每个月轮询tsar的日志文件;
	 /usr/local/tsar/modules 是所有模块库(* .so)所在的目录;
	 /usr/local/man/man8/    帮助文件

2.tsar工具参数解释

 [root@ops ~]# tsar -h
 Usage: tsar [options]
 Options:
    -check        查看最后一次的采集数据
    --check/-C     查看最后一次tsar的提醒信息,如:tsar --check/ tsar --check--cpu--io
    --cron/-c     使用crond模式来进行tsar监控
    --interval/-i 指明tsar的间隔时间,默认单位分钟,带上--live参数则单位是秒 
    --list/-L     列出启用的模块
    --live/-l     查看实时数据
    --file/-f     指定输入文件
    --ndays/-n     指定过去的数据天数,默认1天
    --date/-d     指定日期,YYYYMMDD或者n代表n天前
    --detail/-D   能够指定查看主要字段还是模块的所有字段
    --spec/-s     指定字段,tsar –cpu -ssys,util
 	--item/-I     显示指定项的数据,通常用于显示特定磁盘或网络设备的详细数据
 Modules Enabled:
    --cpu              列出cpu相关的监控计数
    --mem              物理内存的使用情况
    --swap            虚拟内存的使用情况
    --tcp              TCP 协议 IPV4的使用情况
    --udp              UDP 协议 IPV4的使用情况
    --traffic          网络传出的使用情况
    --io              Linux IO的情况
    --pcsw            进程和上下文切换
    --partition        磁盘使用情况
    --tcpx            TCP 连接相关的数据参数
    --load            系统负载情况

3.tsar常用命令示例

3.1.监控系统的cpu

Time           -----------------------cpu---------------------- 
Time             user     sys    wait    hirq    sirq    util   
20/02/25-20:50   0.89    0.40    0.01    0.18    0.14    1.62   
20/02/25-20:55   0.84    0.42    0.00    0.19    0.15    1.60   
20/02/25-21:00   0.71    0.36    0.00    0.17    0.14    1.38   
20/02/25-21:05   0.72    0.38    0.03    0.17    0.13    1.41   
20/02/25-21:10   0.71    0.51    0.19    0.18    0.14    1.58   
20/02/25-21:15   0.65    0.36    0.00    0.16    0.12    1.30   

MAX              1.05    0.78    0.82    0.17    0.14    2.04   
MEAN             0.77    0.42    0.05    0.17    0.14    1.51   
MIN              0.63    0.39    0.00    0.17    0.14    1.33 
 --------------------------------------------------------------
 user : 表示用户空间cpu
 sys : 内核空间cpu使用情况
 wait : 是IO对应的cpu使用情况
 hirq,sirq : 分别是硬件中断,软件中断的使用情况
 util : 是系统使用cpu的总计情况

3.2.监控内存使用情况

Time           -----------------------mem---------------------- 
Time             free    used    buff    cach   total    util   
20/02/25-20:50 287.9M  294.3M    1.6M  368.9M  952.8M   30.89   
20/02/25-20:55 287.4M  294.7M    1.6M  369.0M  952.8M   30.93   
20/02/25-21:00 285.6M  296.5M    1.6M  369.1M  952.8M   31.12   
20/02/25-21:05 285.6M  296.2M    1.6M  369.3M  952.8M   31.09   
20/02/25-21:10 273.2M  306.4M    1.6M  371.5M  952.8M   32.16   
20/02/25-21:15 266.4M  307.1M    1.6M  377.5M  952.8M   32.24   

MAX            366.6M  321.1M    1.6M  488.9M  952.8M   33.70   
MEAN           219.2M  304.7M    1.6M  427.3M  952.8M   31.98   
MIN            146.7M  289.1M    1.6M  295.5M  952.8M   30.34

3.3.查看指定时间的CPU平均负载

[root@ops ~]# tsar --load -d 20250219
Time           -------------------load----------------- 
Time            load1   load5  load15    runq    plit   
19/02/25-22:15   0.00    0.08    0.11    4.00  198.00   
19/02/25-22:20   0.06    0.06    0.09    2.00  191.00   
19/02/25-22:25   0.20    0.09    0.09    1.00  191.00   
19/02/25-22:30   0.00    0.02    0.06    4.00  195.00   
19/02/25-22:35   0.01    0.03    0.05    1.00  192.00   
19/02/25-22:40   0.00    0.01    0.03    4.00  192.00   
19/02/25-22:45   0.01    0.02    0.01    1.00  194.00   
19/02/25-22:50   0.02    0.01    0.00    2.00  192.00   
19/02/25-22:55   0.00    0.00    0.00    3.00  190.00   
19/02/25-23:00   0.00    0.00    0.00    4.00  190.00   
19/02/25-23:05   0.01    0.01    0.00    1.00  190.00   
19/02/25-23:10   0.00    0.00    0.00    3.00  191.00   
19/02/25-23:15   0.05    0.05    0.01    4.00  190.00   
19/02/25-23:20   0.00    0.01    0.00    2.00  191.00   

MAX              0.20    0.08    0.11    4.00  198.00   
MEAN             0.03    0.02    0.03    2.46  191.46   
MIN              0.00    0.08    0.00    1.00  190.00 

http://www.kler.cn/a/556183.html

相关文章:

  • 怎麼防止爬蟲IP被網站封鎖?
  • Javascript网页设计案例:通过PDFLib实现一款PDF分割工具,分割方式自定义-完整源代码,开箱即用
  • 基于 C++ OpenCV 图像灰度化 DLL 在 C# WPF 中的拓展应用
  • Grok 使用指南
  • 清华大学:DeepSeek与AI幻觉(31页PDF)
  • 图数据库Neo4j面试内容整理-路径查询
  • Innovus中快速获取timing path逻辑深度的golden脚本
  • 基于springboot+vue的酒店管理系统的设计与实现
  • 遥感与GIS在滑坡、泥石流风险普查中的实践技术应用
  • Python logger模块
  • 美团一面:说说synchronized的实现原理?
  • 服务器释放screen资源(Detached状态并不会释放资源)
  • 华为动态路由-OSPF-完全末梢区域
  • synchronized锁字符串
  • 店铺矩阵崩塌前夜:跨境多账号运营的3个生死线
  • Prompt Engineering的重要性
  • 网络协议如何确保数据的安全传输
  • 达梦clob字段查询优化
  • Java Web开发实战与项目——Spring Boot与Redis实现缓存管理
  • 直播美颜工具架构设计与性能优化实战:美颜SDK集成与实时处理