热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

unix中sar命令的详细使用!

1、sar命令行的常用格式:sar[options][-A][-ofile]t[n]在命令行中,t和n两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的

1、sar 命令行的常用格式:

sar [options] [-A] [-o file] t [n]

在命令行中,t和n 两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的参数,n为采样次数,是可选的,默认值是1,-o file表示将命令结果以二进制格式存放在文件中,file 在此处不是关键字,是文件名。

options 为命令行选项,sar命令的选项很多,下面只列出常用选项:

-A:所有报告的总和。
-u:CPU利用率
-v:进程、i节点、文件和锁表状态。
-d:硬盘使用报告。
-r:没有使用的内存页面和硬盘块。
-g:串口I/O的情况。
-b:缓冲区使用情况。
-a:文件读写情况。
-c:系统调用情况。
-R:进程的活动情况。
-y:终端设备活动情况。
-w:系统交换活动。


例子1:采样CPU利用率,1秒钟采样一次,总共采集5次。

-bash-3.00$ sar -u 1 5

SunOS racdb1 5.10 Generic_142909-17 sun4u    03/01/2012

14:04:57    %usr    %sys    %wio   %idle
14:04:58       8       2       0      90
14:04:59       8       1       0      91
14:05:00       8       1       0      91
14:05:01      10       2       0      88
14:05:02       9       1       0      90

Average        9       1       0      90
上面是solaris中执行命令看见的输出,下面是hp unix中看到的输出:
$ sar -u 1 5

HP-UX psmsdb01 B.11.31 U ia64    03/01/12

13:52:08    %usr    %sys    %wio   %idle
13:52:09       1       0       4      95
13:52:10       1       0       4      95
13:52:11       0       1       5      94
13:52:12       1       1       4      94
13:52:13       1       0       4      95

Average        1       0       4      95
%usr:CPU处在用户模式下的时间百分比。
%sys:CPU处在系统模式下的时间百分比。
%wio:CPU等待输入输出完成时间的百分比。
%idle:CPU空闲时间百分比。
在所有的显示中,我们应主要注意%wio和%idle,%wio的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。


例子2:观察核心表的状态,每1秒采样一次,连续采样5次。

$ sar -v 1 5

HP-UX psmsdb01 B.11.31 U ia64    03/01/12

14:06:06 text-sz  ov  proc-sz  ov  inod-sz  ov  file-sz  ov 
14:06:07   N/A   N/A 543/4096  0  1753/862170 0  11565/126976 0
14:06:08   N/A   N/A 545/4096  0  1756/862170 0  11582/126976 0
14:06:09   N/A   N/A 547/4096  0  1765/862170 0  11618/126976 0
14:06:10   N/A   N/A 547/4096  0  1765/862170 0  11618/126976 0
14:06:11   N/A   N/A 549/4096  0  1767/862170 0  11625/126976 0

-bash-3.00$ sar -v 1 5

SunOS racdb1 5.10 Generic_142909-17 sun4u    03/01/2012

14:06:18  proc-sz    ov  inod-sz    ov  file-sz    ov   lock-sz
14:06:19  371/30000    0 157620/157620    0 8887/8887    0    0/0   
14:06:20  371/30000    0 157620/157620    0 8887/8887    0    0/0   
14:06:21  371/30000    0 157620/157620    0 8887/8887    0    0/0   
14:06:22  372/30000    0 157620/157620    0 8908/8908    0    0/0   
14:06:23  372/30000    0 157620/157620    0 8910/8910    0    0/0   
proc-sz:目前核心中正在使用或分配的进程表的表项数,由核心参数MAX-PROC控制。
inod-sz:目前核心中正在使用或分配的i节点表的表项数,由核心参数MAX-INODE控制。
file-sz: 目前核心中正在使用或分配的文件表的表项数,由核心参数MAX-FILE控制。
ov:溢出出现的次数。
Lock-sz:目前核心中正在使用或分配的记录加锁的表项数,由核心参数MAX-FLCKRE控制。
显示内容表示,核心使用完全正常,三个表没有出现溢出现象,核心参数不需调整,如果出现溢出时,要调整相应的核心参数,将对应的表项数加大。

例子3:报告设备使用情况,每1秒采样一次,连续采样1次。
$ sar -d 1 1

HP-UX psmsdb01 B.11.31 U ia64    03/01/12

14:14:43   device   %busy   avque   r+w/s  blks/s  avwait  avserv
14:14:44  disk807    5.00    0.50       6   12224    0.00    7.72
          disk808   15.00    0.50      22   44224    0.00    6.92
          disk812    3.00    0.50       4    6208    0.00    5.92
          disk826    5.00    0.50       6   12032    0.00    7.76
          disk834   12.00    0.50      16   32768    0.00    7.44
显示内容包括:
device: sar命令正在监视的块设备的名字。
%busy: 设备忙时,传送请求所占时间的百分比。
avque: 队列站满时,未完成请求数量的平均值。
r+w/s: 每秒传送到设备或从设备传出的数据量。
blks/s: 每秒传送的块数,每块512字节。
avwait: 队列占满时传送请求等待队列空闲的平均时间。
avserv: 完成传送请求所需平均时间(毫秒)。
在显示的内容中,disk807是硬盘的名字,%busy的值比较小,说明用于处理传送请求的有效时间太少,文件系统效率不高,一般来讲,%busy值高些,avque值低些,文件系统的效率比较高,如果%busy和avque值相对比较太太高,说明硬盘传输速度太慢,需调整。

例子4:每1秒采样一次,连续采样5次,报告缓冲区的使用情况
$ sar -b 1 5

HP-UX psmsdb01 B.11.31 U ia64    03/01/12

14:20:42 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s
14:20:43       0       1     100      13       2       0      37      25
14:20:44       0      49     100       2      14      86      37      15
14:20:45       0       1     100      15       1       0      43       2
14:20:46       0       6     100      16      13       0      37       1
14:20:47       0      15     100       6      19      68      40       1

Average        0      14     100      10      10 8765239200      39       9

显示内容包括:

bread/s: 每秒从硬盘读入系统缓冲区buffer的物理块数。
lread/s: 平均每秒从系统buffer读出的逻辑块数。
%rcache: 在buffer cache中进行逻辑读的百分比。
bwrit/s: 平均每秒从系统buffer向磁盘所写的物理块数。
lwrit/s: 平均每秒写到系统buffer逻辑块数。
%wcache: 在buffer cache中进行逻辑写的百分比。
pread/s: 平均每秒请求物理读的次数。
pwrit/s: 平均每秒请求物理写的次数。

在显示的内容中,最重要的是%rcache和%wcache两列,它们的值体现着buffer的使用效率,%rcache的值小于90或者%wcache的值低于65,应适当增加系统buffer的数量,buffer数量由核心参数NBUF控制,使%rcache达到90左右,%wcache达到80左右。但buffer参数值的多少影响I/O效率,增加buffer,应在较大内存的情况下,否则系统效率反而得不到提高。



推荐阅读
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • 字节流(InputStream和OutputStream),字节流读写文件,字节流的缓冲区,字节缓冲流
    字节流抽象类InputStream和OutputStream是字节流的顶级父类所有的字节输入流都继承自InputStream,所有的输出流都继承子OutputStreamInput ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 性能测试中的关键监控指标与深入分析
    在软件性能测试中,关键监控指标的选取至关重要。主要目的包括:1. 评估系统的当前性能,确保其符合预期的性能标准;2. 发现软件性能瓶颈,定位潜在问题;3. 优化系统性能,提高用户体验。通过综合分析这些指标,可以全面了解系统的运行状态,为后续的性能改进提供科学依据。 ... [详细]
  • 深入解析Android 4.4中的Fence机制及其应用
    在Android 4.4中,Fence机制是处理缓冲区交换和同步问题的关键技术。该机制广泛应用于生产者-消费者模式中,确保了不同组件之间高效、安全的数据传输。通过深入解析Fence机制的工作原理和应用场景,本文探讨了其在系统性能优化和资源管理中的重要作用。 ... [详细]
  • 在Android平台中,播放音频的采样率通常固定为44.1kHz,而录音的采样率则固定为8kHz。为了确保音频设备的正常工作,底层驱动必须预先设定这些固定的采样率。当上层应用提供的采样率与这些预设值不匹配时,需要通过重采样(resample)技术来调整采样率,以保证音频数据的正确处理和传输。本文将详细探讨FFMpeg在音频处理中的基础理论及重采样技术的应用。 ... [详细]
  • 使用Maven JAR插件将单个或多个文件及其依赖项合并为一个可引用的JAR包
    本文介绍了如何利用Maven中的maven-assembly-plugin插件将单个或多个Java文件及其依赖项打包成一个可引用的JAR文件。首先,需要创建一个新的Maven项目,并将待打包的Java文件复制到该项目中。通过配置maven-assembly-plugin,可以实现将所有文件及其依赖项合并为一个独立的JAR包,方便在其他项目中引用和使用。此外,该方法还支持自定义装配描述符,以满足不同场景下的需求。 ... [详细]
  • 本文介绍了如何利用 Delphi 中的 IdTCPServer 和 IdTCPClient 控件实现高效的文件传输。这些控件在默认情况下采用阻塞模式,并且服务器端已经集成了多线程处理,能够支持任意大小的文件传输,无需担心数据包大小的限制。与传统的 ClientSocket 相比,Indy 控件提供了更为简洁和可靠的解决方案,特别适用于开发高性能的网络文件传输应用程序。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • 在Ubuntu系统中配置Python环境变量是确保项目顺利运行的关键步骤。本文介绍了如何将Windows上的Django项目迁移到Ubuntu,并解决因虚拟环境导致的模块缺失问题。通过详细的操作指南,帮助读者正确配置虚拟环境,确保所有第三方库都能被正确识别和使用。此外,还提供了一些实用的技巧,如如何检查环境变量配置是否正确,以及如何在多个虚拟环境之间切换。 ... [详细]
  • 操作系统如何通过进程控制块管理进程
    本文详细介绍了操作系统如何通过进程控制块(PCB)来管理和控制进程。PCB是操作系统感知进程存在的重要数据结构,包含了进程的标识符、状态、资源清单等关键信息。 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
author-avatar
Three-Kobe
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有