【Linux资源管理】使用sar进行性能分析
sar可用于监控Linux系统性能,帮助我们分析性能瓶颈。sar工具的使用方式为”sar [选项] intervar [count]”,其中interval为统计信息采样时间,count为采样次数。
下文将说明如何使用sar获取以下性能分析数据:
- 整体CPU使用统计
- 各个CPU使用统计
- 内存使用情况统计
- 整体I/O情况
- 各个I/O设备情况
- 网络统计
整体CPU使用统计(-u)
使用-u选项,sar输出整体CPU的使用情况,不加选项时,默认使用的就是-u选项。以下命令显示采样时间为1s,采样次数为2次,整体CPU的使用情况:
linux:/ # sar -u 1 2
Linux 2.6.16.60-0.21-smp (linux) 06/08/12 11:37:07 CPU %user %nice %system %iowait %steal %idle
11:37:08 all 0.00 0.00 0.25 0.00 0.00 99.75
11:37:09 all 0.00 0.00 0.25 0.00 0.00 99.75
Average: all 0.00 0.00 0.25 0.00 0.00 99.75
以上主要的统计项的解析如下:
%user: 用户态下CPU使用时间比率
%system: 内核态下CPU使用时间比率
%iowait: CPU等待I/O占用时间比率
%idle: CPU空闲时间比率
各个CPU使用统计(-P)
“-P ALL”选项指示对每个内核输出统计信息:
linux:~ # sar -P ALL 1 1
Linux 2.6.16.60-0.21-smp (linux) 06/08/12 14:04:37 CPU %user %nice %system %iowait %steal %idle
14:04:38 all 0.50 0.00 0.12 0.00 0.00 99.38
14:04:38 0 0.00 0.00 0.00 0.00 0.00 100.00
14:04:38 1 0.00 0.00 0.00 0.00 0.00 100.00
14:04:38 2 0.00 0.00 0.00 0.00 0.00 100.00
14:04:38 3 0.00 0.00 1.00 0.00 0.00 99.00
其中”CPU”列输出0,1,2,3指示对应的cpu核。也可针对单独一个内核显示,“-P 1”指示显示第二个内核的统计信息。
内存使用情况统计(-r)
使用-r选项可显示内存统计信息,以下命令显示以1秒为采样时间,显示2次内存信息:
linux:~ # sar -r 1 2
Linux 2.6.16.60-0.21-smp (linux) 06/08/12 14:22:50 kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad
14:22:51 11727480 4564652 28.02 174460 3995108 8393920 0 0.00 0
14:22:52 11727480 4564652 28.02 174460 3995108 8393920 0 0.00 0
Average: 11727480 4564652 28.02 174460 3995108 8393920 0 0.00 0
上面输出的内存单位为”kb”,各项的名称可自解析其含义。
整体I/O情况(-b)
使用-b选项,可以显示磁盘I/O的使用情况:
linux:~ # sar -b 1 2
Linux 2.6.16.60-0.21-smp (linux) 06/08/12 14:50:33 tps rtps wtps bread/s bwrtn/s
14:50:34 0.99 0.00 0.99 0.00 7.92
14:50:35 4.00 0.00 4.00 0.00 136.00
Average: 2.49 0.00 2.49 0.00 71.64
以上各列的含义为:
tps: 每秒向磁盘设备请求数据的次数,包括读、写请求,为rtps与wtps的和。出于效率考虑,每一次IO下发后并不是立即处理请求,而是将请求合并(merge),这里tps指请求合并后的请求计数。
rtps: 每秒向磁盘设备的读请求次数
wtps: 每秒向磁盘设备的写请求次数
bread: 每秒从磁盘读的bytes数量
bwrtn: 每秒向磁盘写的bytes数量
各个I/O设备情况(-d)
使用-d选项可以显示各个磁盘的统计信息,再增加-p选项可以以sdX的形式显示设备名称:
linux:~ # sar -d -p 1 1
Linux 2.6.16.60-0.21-smp (linux) 06/08/12 15:43:34 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
15:43:35 sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15:43:35 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15:43:35 sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
以上输出中DEV列以sdX的方式显示了设备名称。
网络统计(-n)
使用-n选项可以对网络使用情况进行显示,-n后接关键词”DEV”可显示eth0、eth1等网卡的信息:
linux:~ # sar -n DEV 1 1
Linux 2.6.16.60-0.21-smp (linux) 06/08/12 15:50:22 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
15:50:23 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15:50:23 eth0 23.76 1.98 1.59 0.26 0.00 0.00 0.00
15:50:23 eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15:50:23 eth2 7.92 0.00 0.60 0.00 0.00 0.00 0.00
以上主要输出含义如下:
IFACE: 网络接口名称
rxpck/s: 每秒收包的数量
txpck/s: 每秒发包的数量
rxkB/s: 每秒收的数据量(kB为单位)
txkB/s: 每秒发的数据量(kB为单位)
sar日志保存(-o)
最后讲一下如何保存sar日志,使用-o选项,我们可以把sar统计信息保存到一个指定的文件,对于保存的日志,我们可以使用-f选项读取:
linux:~ # sar -n DEV 1 10 -o sar.out
linux:~ # sar -d 1 10 -f sar.out
相比将结果重定向到一个文件,使用-o选项,可以保存更多的系统资源信息。
注:本文转自 bangerlee 的博客:https://www.cnblogs.com/bangerlee/articles/2545747.html
【Linux资源管理】使用sar进行性能分析的更多相关文章
- Linux使用sar进行性能分析
转:https://blog.csdn.net/xusensen/article/details/54606401#sar%E7%AE%80%E4%BB%8B Linux使用sar进行性能分析 Lin ...
- 【转贴】使用sar进行性能分析
使用sar进行性能分析 https://www.cnblogs.com/bangerlee/articles/2545747.html 很早之前就看过 但是自己一直没用过.. 2012-06-12 0 ...
- 使用sar进行性能分析
sar可用于监控Linux系统性能,帮助我们分析性能瓶颈.sar工具的使用方式为”sar [选项] intervar [count]”,其中interval为统计信息采样时间,count为采样次数. ...
- Linux C++程序进行性能分析工具gprof使用入门
性能分析工具 软件的性能是软件质量的重要考察点,不论是在线服务程序还是离线程序,甚至是终端应用,性能都是用户体验的关键.这里说的性能重大的范畴来讲包括了性能和稳定性两个方面,我们在做软件测试的时候也是 ...
- Linux下用火焰图进行性能分析【转】
转自:https://blog.csdn.net/gatieme/article/details/78885908 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原 ...
- 使用VisualVM进行性能分析及调优(转)
VisualVM 是一款免费的\集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃圾回 ...
- [转]设置Android手机以使用ARM Streamline进行性能分析(二)
原文因为arm社区改版访问不到了,原作者鲍方,原文地址,这篇是从google cache里挖出来的,希望能帮到要对cocos2dx优化的各位 Posted by Fang Bao, Leave C ...
- [转]程序进行性能分析工具gprof使用入门
性能分析工具 软件的性能是软件质量的重要考察点,不论是在线服务程序还是离线程序,甚至是终端应用,性能都是用户体验的关键.这里说的性能重大的范畴来讲包括了性能和稳定性两个方面,我们在做软件测试的时候也是 ...
- 【Java VisualVM】使用 VisualVM 进行性能分析及调优
转载:https://blog.csdn.net/lmb55/article/details/79267277 一.概述 开发大型 Java 应用程序的过程中难免遇到内存泄露.性能瓶颈等问题,比如文件 ...
随机推荐
- Algorithm——最长公共前缀
一.问题 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow ...
- 浅谈移动端中的视口(viewport)
在 PC 端,视口指的是浏览器的可视区域,其宽度和浏览器窗口的宽度保持一致.在 CSS 标准文档中,视口也被称为初始包含块,它是所有 CSS 百分比宽度推算的根源,给 CSS 布局限制了一个最大宽度. ...
- 1023 GPA计算
1023 GPA计算 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题解 查看运行结果 题目描述 Description 小松终于步入了大学的殿 ...
- Eclipse常用操作
一 Eclipse常用快捷键 ctrl+Q:跳到最后一次编辑处. ctrl+F:在当前文件中查找并替换. ctrl+T:查看类的继承关系. alt+左箭头:返回到光标的上一个位置. alt+右箭头:前 ...
- 无法远程访问Mysql的解决方案
现在在很多的互联网公司对于mysql数据库的使用已经是不可阻挡的趋势了,所以经常我们在项目开始的时候就会做的事情就是找一台Linux服务器,到上面去安装个mysql,然后在开始我们的数据表的导入工作, ...
- Docker 简单运用
Docker 帮助系统管理员和程序员在容器中开发应用程序,并且可以扩展到成千上万的节点,容器和 VM(虚拟机)的主要区别是,容器提供了基于进程的隔离,而虚拟机提供了资源的完全隔离.虚拟机可能需要一分钟 ...
- Django—Model
Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 Sqlite3.MySQL.PostgreSQL 等数据库,只需要在 settings.py ...
- Java 多线程使用
工作中遇到的问题,记录下解决的思路 问题: 对磁盘进行碎片化测试(比如说,磁盘空间是16G),从64K开始写文件,写满后删除一半,然后写32K 的数据,写满后删除一半...直到4K写满删除一般算是结束 ...
- Word 2010 去除文字或段落背景色
在复制网页文本到Word时,有时会带有网页上的背景颜色.下面采用两种方法解决这种问题,可根据不同需要进行选择. 方法一:清除样式 此种方法适用于只需要网页文字,而不想要网页任何样式信息,如字体大小,段 ...
- 【Leetcode】【Medium】Combination Sum II
Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in ...