一天一个 Linux 命令(38):sar 命令

本文详细介绍了Linux系统性能分析工具sar的使用,包括-A、-b、-d、-R、-u、-p、-q、-v等参数的解释和示例,涵盖了内存、CPU、I/O、磁盘和网络等方面的监控。sar通过收集系统状态数据,帮助管理员诊断和优化系统的性能问题。此外,还提到了sysstat工具包的作用和sysstat守护进程的工作方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文为joshua317原创文章,转载请注明:转载自joshua317博客 一天一个 Linux 命令(38):sar 命令 - joshua317的博客

一、简介

Linux下的sar(英文全称:System Activity Reporter,系统活动情况报告)是系统运行状态统计工具的命令,它将指定的操作系统状态计数器显示到标准输出设备。

sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。

sar是目前 Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。

如果系统没有安装,可以通过sudo yum install sysstat来安装。

二、格式说明

sar [ options ] [ <interval> [ <count> ] ]
sar [参数]

Usage: sar [ options ] [ <interval> [ <count> ] ]
Options are:
[ -A ] [ -B ] [ -b ] [ -C ] [ -d ] [ -F [ MOUNT ] ] [ -H ] [ -h ] [ -p ] [ -q ] [ -R ]
[ -r ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -V ] [ -v ] [ -W ] [ -w ] [ -y ]
[ -I { <int> [,...] | SUM | ALL | XALL } ] [ -P { <cpu> [,...] | ALL } ]
[ -m { <keyword> [,...] | ALL } ] [ -n { <keyword> [,...] | ALL } ]
[ -j { ID | LABEL | PATH | UUID | ... } ]
[ -f [ <filename> ] | -o [ <filename> ] | -[0-9]+ ]
[ -i <interval> ] [ -s [ <hh:mm:ss> ] ] [ -e [ <hh:mm:ss> ] ]

三、选项说明

-A 所有报告的总和

-b 显示I/O和传递速率的统计信息

-B 显示换页状态

-d 输出每一块磁盘的使用信息

-e 设置显示报告的结束时间

-f 从制定的文件读取报告

-i 设置状态信息刷新的间隔时间

-P 报告每个CPU的状态

-R 显示内存状态

–u 输出cpu使用情况和统计信息

–v 显示索引节点、文件和其他内核表的状态

-w 显示交换分区的状态

-x 显示给定进程的装

-r 报告内存利用率的统计信息

四、命令功能

五、常见用法

5.1 使用-R参数显示内存状态

# sar -R

#每间隔1秒统计一次内存状态
# sar -R 1

#每间隔1秒统计一次内存状态,总共统计5次
# sar -R 1 5

5.2 使用-r报告内存利用率的统计信息

# sar -r

#每间隔1秒统计一次内存利用率
# sar -r 1

#每间隔1秒统计一次内存利用率,总共统计5次
# sar -r 1 5

10:15:52 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
10:15:53 AM    418204   7590452     94.78    211956   4688244   3511820     43.85   4589848   2338480       400
10:15:54 AM    417956   7590700     94.78    211956   4688244   3511820     43.85   4589848   2338480        92
10:15:55 AM    417956   7590700     94.78    211956   4688244   3511820     43.85   4589848   2338480        92
10:15:56 AM    417832   7590824     94.78    211956   4688252   3511824     43.85   4589848   2338488       100
10:15:57 AM    417460   7591196     94.79    211956   4688252   3511828     43.85   4589868   2338484       100
Average:       417882   7590774     94.78    211956   4688247   3511822     43.85   4589852   2338482       157

# kbmemfree  空闲的物理内存大小

# kbmemused  使用中的物理内存大小

# %memused 物理内存使用率

# kbbuffers 内核中作为缓冲区使用的物理内存大小,kbbuffers和kbcached:这两个值就是free命令中的buffer和cache. 

# kbcached 缓存的文件大小

# kbcommit  保证当前系统正常运行所需要的最小内存,即为了确保内存不溢出而需要的最少内存(物理内存+Swap分区)

# commit 这个值是kbcommit与内存总量(物理内存+swap分区)的一个百分比的值

5.3 使用-b参数显示I/O速率

# sar -b

#每间隔1秒统计一次I/O速率
# sar -b 1

#每间隔1秒统计一次I/O速率,总共统计5次
# sar -b 1 5

10:18:56 AM       tps      rtps      wtps   bread/s   bwrtn/s
10:18:57 AM      0.00      0.00      0.00      0.00      0.00
10:18:58 AM      0.00      0.00      0.00      0.00      0.00
10:18:59 AM      2.00      0.00      2.00      0.00     72.00
10:19:00 AM      1.00      0.00      1.00      0.00      8.00
10:19:01 AM      3.00      0.00      3.00      0.00     40.00
Average:         1.20      0.00      1.20      0.00     24.00

# tps  磁盘每秒钟的IO总数,等于iostat中的tps

# rtps 每秒钟从磁盘读取的IO总数

# wtps 每秒钟从写入到磁盘的IO总数

# bread/s 每秒钟从磁盘读取的块总数

# bwrtn/s 每秒钟此写入到磁盘的块总数

5.4 使用-d参数查看磁盘使用详情统计

# sar -d

#每间隔1秒查看磁盘使用详情统计
# sar -d 1

#每间隔1秒查看磁盘使用详情统计,总共统计5次
# sar -d 1 5

10:21:49 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
10:21:50 AM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:21:50 AM   dev11-0      0.00     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值