`
QING____
  • 浏览: 2253267 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sar指令学习

 
阅读更多

    linux sar指令是一个综合性的系统监控指令,功能比较丰富,集大成者,对分析CPU、内存、网络等都有比较大的帮助。此指令支持支持间歇性采样,“比如sar -u 1 100”,表示每隔1秒、总共采样100次。

 

    1、sar -A:打印所有的信息。它的结果是所有能支持参数的合集(统计值),对分析没有太大帮助。不过如果你希望获取某个时间点的所有监控数据,可以通过此指令将数据导入到文件。

 

    2、sar -b:打印IO和传送率的统计值(所有块设备总和)

# sar -b 1

01:00:29 PM       tps      rtps      wtps   bread/s   bwrtn/s
01:00:30 PM   3951.58    223.16   3728.42  56084.21 953018.95
01:00:31 PM    249.50    234.65     14.85  58843.56    475.25
01:00:32 PM    237.37    237.37      0.00  60250.51      0.00
01:00:33 PM    237.00    235.00      2.00  59904.00     16.00

    1)tps:磁盘IO的每秒请求数,包括读写(进程的逻辑请求在外设层面可以被合并成一个)。此值越高,表示磁盘并发请求量越高,但还不能判定磁盘的瓶颈。(稍后根据sar -d判断)

    2)rtps/wtps:读写请求每秒数。

    3)bread/bwrtn:每秒读写的块数量。通常一个块大小为1kb,可以粗略估算磁盘IO情况。

 

    3、sar -B:页缓存的情况统计值。

# sar -B 1

01:20:26 PM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
01:20:27 PM      4.00      8.00   4180.00      0.00   3137.00      0.00      0.00      0.00      0.00
01:20:28 PM      0.00  34404.04   3049.49      0.00   8590.91   5657.58      0.00   5657.58    100.00
01:20:29 PM      0.00      8.00   3012.00      0.00   2763.00      0.00      0.00      0.00      0.00

    1)pgpgin/s:每秒从磁盘中page in的数据量(kb)。

    2)pgpgout/s:每秒page out到磁盘的数据量(kb)。这两个数据不同于swap,它们仅仅是反应进程对文件系统的数据操作(memory mapping?)。即使关闭了swap,这两个值仍然会很大,特别是在文件IO频繁的系统。

    

    4、sar -d:查看每个磁盘设备的状况

# sar -d 1


02:00:52 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
02:00:53 PM  dev202-0      4.00      0.00    112.00     28.00      0.00      1.00      1.00      0.40
02:00:53 PM dev202-32     80.00      0.00  14360.00    179.50      0.18      2.30      0.10      0.80
02:00:53 PM dev202-16      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

    1)tps:每秒读写请求总数。此值越高,表示磁盘越麻烦。

    2)avgrq-sz:平均每次请求操作的扇区(selector)大小。

    3)avgqu-sz:此磁盘请求的等待队列请求数,此值越大,表示此盘并发请求越高,且有达到瓶颈的可能。

    4)await:IO请求从接受到完成所需的总时间(平均),包括在等待队列中的等待时间。此值越高,表示IO响应越慢,也是磁盘瓶颈的一个反应。我们需要综合tps、argqu-sz综合判断。

    5)svctm:IO请求处理的平均时间,不包括等待队列的等待时间。此值越接近await说明实际等待时间越少,磁盘实际响应效率越高;反之,表明磁盘瓶颈越高。

    6)%uitl:IO请求消耗CPU占比,通常此值很低,此值越高说明IO请求越密集、越饱和(即CPU用于处理IO的时间越高,对于存储系统,我们希望它高一些,此外还有关注load等)。

 

    5、sar -n:查看网络,感觉没有netstat好用。

    6、sar -p:查看CPU的统计值

#sar -p 1


03:57:12 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
03:57:13 PM     all      5.45      0.00      1.00      0.00      0.00     93.55
03:57:14 PM     all      4.65      0.00      1.19      0.06      0.00     94.10

    使用“sar -u ALL”查看每个CPU的具体详情,数据指标与上差不多。

 

    7、sar -q:系统load分析

#sar -q 1


03:58:33 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
03:58:34 PM         1       452      1.19      1.07      0.98
03:58:35 PM         1       452      1.19      1.07      0.98
03:58:36 PM         2       452      1.18      1.07      0.98

    1)runq-sz:等待运行的任务数,此值我们需要多观察,此值越高,潜在表明CPU可能load较高,我们需要考虑升级CPU了。

    2)plist-sz:执行中或者亟待执行的任务数。此值反应并发量。

    3)ldavg-1、-5、-15分别表示CPU平均load在1、5、15分钟线的值。

    

    8、sar -r:查看内存统计信息

# sar -r 1


04:13:11 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
04:13:12 PM    216972  30665448     99.30      9184   6324780  28734268     93.04
04:13:13 PM    227780  30654640     99.26      9184   6313488  28726728     93.02
04:13:14 PM    217268  30665152     99.30      9188   6324428  28734276     93.04

    1)kbmemfree:空闲内存,单位kb。

    2)kbmemused,%memused:已用内存。

    3)kbbuffers:缓冲区内存,通常是网络IO、磁盘IO使用的临时缓冲区,随进程操作结束而消亡。

    4)kbcached:缓存大小,IO操作产生的页缓存等。此区数据有系统维护,需要时可以被回收并分配。

    5)kbcommit:保证当前系统所需要的内存,即为了确保不溢出二所需要的内存(RAM + SWAP)。

    6)%commit:kbcommit与内存总量占比,超过100%表示使用了swap且有内存不足的分险,避免swap则需要扩容内存。

 

    9、sar -w:查看进程创建和cs时间。用途不大,如果发现cs较高,通常在cpu层面就能反应,此外可以根据pidstat来辅助分析进程cs的具体情况。

    10、sar -W:查看页交换情况,通常可以辅助发现swap的发生。页交换频繁,通常意味着内存不足,潜在引起性能较低。

# sar -W 1


04:55:34 PM  pswpin/s pswpout/s
04:55:35 PM      0.00      0.00
04:55:36 PM      0.00      0.00

    1)pswpin/s:每秒交换页的数量,从磁盘到内存。

    2)pswpout/s:每秒换出页的数量,从内存到磁盘。注意,如果swap开启,这两个值通常会在内存不足
(包括虚拟内存)时发生,会在一定程度上影响性能,还会导致load较高。

 

参考:

1)https://linux.die.net/man/1/sar

2)https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/sar.html

3)http://lovesoo.org/linux-sar-command-detailed.html

分享到:
评论

相关推荐

    汇编语言指令大全

    SAL和SAR指令用于算术左移和右移,它们在进行右移操作时会保留符号位。ROL、ROR、RCL和RCR指令用于循环移位操作,这些指令在进行移位的同时会考虑进位标志。 除了上述指令外,还有一些指令涉及到处理器的控制操作,...

    SAR-imaging_sarcsa_sar成像_rda_sar成像_wkA_源码.zip

    源代码是编程语言编写的原始指令,用于实现特定的计算任务,这里是SAR图像处理的算法实现。通过分析和理解这些源代码,我们可以深入学习SAR成像的细节,包括数据采集、信号处理、图像重建等步骤。 SAR成像的基本...

    Intel汇编指令手册

    ### Intel汇编指令手册知识点详解 #### 数据传输指令 数据传输指令主要负责处理不同存储位置之间的数据移动,包括但不限于...通过对这些指令的学习和掌握,开发者能够有效地利用处理器的能力来构建高效、可靠的程序。

    汇编指令表与花指令大全

    对于学习和从事汇编语言编程的人来说,这是一份非常实用的参考资料。 #### 1. 数据移动指令 数据移动指令用于在寄存器之间或内存与寄存器之间进行数据传输。 - **MOV**:将一个值或地址复制到另一个位置。例如,`...

    汇编语言8086CPU指令大全

    3. 逻辑指令:包括and、or、not、xor、test、shl、shr、sal、sar、rol、ror、rcl、rcr等。除了not指令外,其他逻辑指令在执行后会影响标志寄存器的相关标志位。 4. 转移指令:这类指令可以修改指令指针寄存器IP,或...

    DSPTMSLFx汇编指令系统PPT学习教案.pptx

    - **ARX**:在LAR和SAR指令中,用于指定要加载或保存的辅助寄存器的3位标识。 - **BITX**:在BIT测试指令中,用于指定位测试,如1110代表测试D1位。 - **CM**:2位值,用于比较操作,例如测试当前AR与AR0的关系。...

    8086汇编指令集

    - **SHL/SAL/SHR/SAR**:左移/右移指令,SAL等同于SHL,SAR用于算术右移。 - **ROL/ROR/RCL/RCR**:循环移位指令,可以指定移位次数。 #### 串指令 串指令用于对内存中的字符串进行操作,包括传送、比较和扫描等。 ...

    汇编指令命令大全学习

    ### 汇编指令命令大全学习 #### 一、数据传送指令 1. **基本数据传送指令** - **MOV**:将一个操作数的值传送到另一个操作数。 - **MOVSX**:符号扩展传送,适用于字节到字或双字的转换。 - **MOVZX**:零扩展...

    汇编指令大全,为了方便广大汇编爱好者

    位运算指令如SHL、SAL、SHR、SAR、ROL、ROR、RCL和RCR等,负责处理位的左移、右移和循环移位,这些操作在数据处理和加密算法中有着广泛的应用。 逻辑运算和位运算指令通常在程序中用来进行位级别的数据操作,这对于...

    计算机硬件基础5指令系统2PPT学习教案.pptx

    本篇学习教案聚焦于计算机硬件基础中的指令系统,特别是逻辑运算指令和移位指令,以及串操作指令的原理与应用,这些都是编程和系统设计不可或缺的基础知识。通过本篇教案的学习,学生不仅能够掌握计算机底层的工作...

    微机原理 8086指令系统合集

    移位指令如`SHL`、`SHR`、`SAR`、`ROL`、`ROR`、`RCL`和`RCR`用于改变操作数的位模式,通过左移、右移或循环移位。这些指令可以用来实现位操作,例如设置或清除特定位,或者将数值乘以或除以2的幂次。 五、串操作...

    课件\汇编指令集\汇编语言指令集.txt

    ### 汇编语言指令集解析 #### 一、数据移动指令 1. **MOV (Move)**:数据移动指令,用于将源操作数的值复制到目标操作数。 - **格式**: - `MOV r1, r2`:寄存器到...理解这些指令对于学习和使用汇编语言至关重要。

    汇编指令及说明举例

    9. **SAR**:算术右移指令,用于将操作数向右移动指定位数。 - 示例:`SAR AX, 1` 将AX中的值向右移动一位,并保持符号位不变。 10. **ROL**:循环左移指令,用于将操作数向左循环移动指定位数。 - 示例:`ROL AX...

    8086汇编指令表[文].pdf

    对8086汇编指令的学习和应用,不仅能够帮助我们深入了解计算机的硬件架构,还能让我们在解决底层问题时拥有更多的控制能力。随着技术的发展,虽然高级语言越来越多地替代了汇编语言在日常开发中的地位,但在系统软件...

    汇编指令大全 汇编语言的学习

    汇编指令的掌握是学习汇编语言的基础,了解和熟练运用这些指令,可以编写出更高效、更精确的程序,更好地理解和控制计算机的硬件资源。在实际编程中,汇编语言常用于编写操作系统内核、驱动程序、游戏引擎的性能关键...

    x86 汇编指令速查手册

    - **SHL/SAL/SHR/SAR**: 分别代表左移(算术与逻辑)、右移(逻辑)和右移(算术),用于位运算。 - **AND/OR/XOR/NOT**: 位与、位或、位异或和位非运算,用于二进制数据的逻辑处理。 #### 控制流指令 控制流指令...

    计算机软件及应用指令系统PPT学习教案.pptx

    移位指令(SHL、SAL、SHR、SAR)和循环移位指令(ROL、ROR、RCL、RCR)改变位的顺序。串处理指令如MOVS、CMPS、SCAS、LODS和STOS用于处理连续的数据序列。控制转移指令如JMP、JCC(条件跳转)和LOOP用于程序流程控制...

Global site tag (gtag.js) - Google Analytics