- 浏览: 107114 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (99)
- 经济 (1)
- dwr (2)
- 测试 (0)
- java (29)
- resin (1)
- oracle (3)
- 感悟 (1)
- jvm (15)
- mina2 (5)
- j2se (12)
- linux (28)
- protobuf (1)
- tcp/ip (0)
- jdbc (0)
- 数据库 (4)
- 游戏 (0)
- 技术文档 (1)
- nosql (2)
- 算法 (2)
- apache (2)
- mysql (1)
- hashcode (1)
- spring (2)
- quartz (5)
- netcat (2)
- 分页 (1)
- 正则 (0)
- shell (1)
- lsof (1)
- nginx (1)
- git (1)
最新评论
-
fys124974704:
你试下将第三条写成以下这样,你会发现你的结论不对:select ...
ORACLE分页SQL语句 -
ikon:
两个乘数没有转成integer,而是当成字符串;BigInte ...
计算任意2个正整数的乘积 -
kidding87:
效率不是很高,思路没有问题,但是你的两个乘数输入都都转为Int ...
计算任意2个正整数的乘积 -
k1280000:
------------------------同意!
学习之道
本文要介绍的sar,是linux下用来分析系统本身运行情况的非常有用的工具。我们知道,程序在操作系统上要运行,要关注的点不外乎内存,CPU和IO(包括磁盘IO和网络IO)。我们的应用程序在操作系统中运行前,我们需要了解系统当前的内存,cpu和IO的使用状况,还需要明白我们的应用程序运行时自身所需要的内存,cpu和IO资源的情况。只有操作系统剩余的内存,cpu和IO资源能够满足应用程序所需要的,才能保证应用程序在操作系统中正常的运行。sar就是用来帮助我们了解操作系统当前内存,cpu和IO等资源的使用情况的一个非常方便的工具,下面通过具体的例子来介绍sar的使用。 (1)内存使用情况统计:-r,通过这个选项,我们可以了解当前系统中内存的使用情况 请看上面的例子,sar -r 1 3 表示时间间隔为1秒,统计3次,最后一行为3次的均值。 上面是每1秒统计一次,统计3次的结果,最后一行为3次的均值。 (1)CPU总体使用情况统计:-u, 用法为sar -u [ALL] [interval] [count], 加上ALL表示列出所有的关于cpu的统计项,如果不加ALL的话,只列一些比较常用的指标: 上面是每1秒统计一次,统计3次后的的结果,最后一行为3次的平均值。 上面是每1秒统计一次,统计3次后的的结果,最后一行为3次的平均值。我们可以看出,这里每个CPU的情况都列的非常清楚。 (1)磁盘设备IO情况统计:-b, 用来统计对物理设备的IO状态,主要是磁盘IO (2)网络设备IO情况统计:-n, 用法sar -n { keyword [,...] | ALL }, keyword包括DEV, EDEV, NFS, NFSD, SOCK, IP, EIP, ICMP, EICMP, TCP, ETCP, UDP, SOCK6, IP6, EIP6, ICMP6, EICMP6 和 UDP6,不同的keyword统计不同的方面,关于网络IO的统计主要是用DEV,看每个设备上的读写情况: 上面是每1秒统计1次,统计3次的结果,最后几列为均值。
在介绍例子之前,首先需要说一下sar命令的基本用法:sar [option] [interval] [count]
1
2
3
4
5
6
7
8
wuzesheng@ubuntu:~/work/test$ sar -r 1 3
Linux 2.6.38-8-generic (ubuntu) 07/09/2011 _i686_ (2 CPU)
06:33:01 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact
06:33:02 PM 458664 566488 55.26 96268 265056 1034780 49.95 262500 254888
06:33:03 PM 458664 566488 55.26 96268 265056 1034780 49.95 262468 254888
06:33:04 PM 458696 566456 55.26 96268 265056 1034780 49.95 262468 254888
Average: 458675 566477 55.26 96268 265056 1034780 49.95 262479 254888
(2)换页统计:-B,通过这个选项,我们可以了解当前系统中,页交换的情况
1
2
3
4
5
6
7
8
wuzesheng@ubuntu:~/work/test$ sar -B 1 3
Linux 2.6.38-8-generic (ubuntu) 07/09/2011 _i686_ (2 CPU)
06:56:48 PM pgpgin/s pgpgout/s fault/s majflt/s pgfree/s pgscank/s pgscand/s pgsteal/s %vmeff
06:56:49 PM 0.00 0.00 1438.00 0.00 3001.00 0.00 0.00 0.00 0.00
06:56:50 PM 0.00 0.00 796.00 0.00 1620.00 0.00 0.00 0.00 0.00
06:56:51 PM 0.00 0.00 770.00 0.00 1580.00 0.00 0.00 0.00 0.00
Average: 0.00 0.00 1001.33 0.00 2067.00 0.00 0.00 0.00 0.00
以上便是关于内存的比较关键的两个指标,通过上面两个选项,系统内存使用相关的情况可以一目了然。
1
2
3
4
5
6
7
8
wuzesheng@ubuntu:~/work/test$ sar -u ALL 1 3
Linux 2.6.38-8-generic (ubuntu) 07/09/2011 _i686_ (2 CPU)
07:21:08 PM CPU %usr %nice %sys %iowait %steal %irq %soft %guest %idle
07:21:09 PM all 1.01 0.00 1.01 0.00 0.00 0.00 0.00 0.00 97.98
07:21:10 PM all 0.50 0.00 1.00 0.00 0.00 0.00 0.00 0.00 98.51
07:21:11 PM all 0.99 0.00 0.99 0.00 0.00 0.00 0.00 0.00 98.02
Average: all 0.83 0.00 1.00 0.00 0.00 0.00 0.00 0.00 98.17
(2)每个CPU的单独的统计: -P,用法为sar -P { cpu [,...] | ALL } [interval] [count],这里第二个参数可以指定cpu序号,来查看指定的cpu,或者指定ALL,查看所有cpu的统计:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
wuzesheng@ubuntu:~/work/test$ sar -P 0 1 3
Linux 2.6.38-8-generic (ubuntu) 07/09/2011 _i686_ (2 CPU)
07:44:42 PM CPU %user %nice %system %iowait %steal %idle
07:44:43 PM 0 1.06 0.00 2.13 0.00 0.00 96.81
07:44:44 PM 0 0.00 0.00 0.97 0.00 0.00 99.03
07:44:45 PM 0 0.97 0.00 1.94 0.00 0.00 97.09
Average: 0 0.67 0.00 1.67 0.00 0.00 97.67
wuzesheng@ubuntu:~/work/test$ sar -P ALL 1 3
Linux 2.6.38-8-generic (ubuntu) 07/09/2011 _i686_ (2 CPU)
07:46:01 PM CPU %user %nice %system %iowait %steal %idle
07:46:02 PM all 1.51 0.00 3.52 0.00 0.00 94.97
07:46:02 PM 0 3.00 0.00 6.00 0.00 0.00 91.00
07:46:02 PM 1 0.00 0.00 2.00 0.00 0.00 98.00
07:46:02 PM CPU %user %nice %system %iowait %steal %idle
07:46:03 PM all 1.01 0.00 1.52 0.00 0.00 97.47
07:46:03 PM 0 1.04 0.00 2.08 0.00 0.00 96.88
07:46:03 PM 1 0.00 0.00 0.00 0.00 0.00 100.00
07:46:03 PM CPU %user %nice %system %iowait %steal %idle
07:46:04 PM all 0.00 0.00 1.50 0.00 0.00 98.50
07:46:04 PM 0 1.00 0.00 3.00 0.00 0.00 96.00
07:46:04 PM 1 0.00 0.00 0.00 0.00 0.00 100.00
Average: CPU %user %nice %system %iowait %steal %idle
Average: all 0.84 0.00 2.18 0.00 0.00 96.98
Average: 0 1.69 0.00 3.72 0.00 0.00 94.59
Average: 1 0.00 0.00 0.67 0.00 0.00 99.33
通过上面两个选项,关于CPU的基本使用情况,都一目了然了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
wuzesheng@ubuntu:~/work/test$ sar -b 1 10
Linux 2.6.38-8-generic (ubuntu) 07/09/2011 _i686_ (2 CPU)
07:55:30 PM tps rtps wtps bread/s bwrtn/s
07:55:31 PM 0.00 0.00 0.00 0.00 0.00
07:55:32 PM 0.00 0.00 0.00 0.00 0.00
07:55:33 PM 0.00 0.00 0.00 0.00 0.00
07:55:34 PM 0.00 0.00 0.00 0.00 0.00
07:55:35 PM 6.00 0.00 6.00 0.00 112.00
07:55:36 PM 0.00 0.00 0.00 0.00 0.00
07:55:37 PM 0.00 0.00 0.00 0.00 0.00
07:55:38 PM 0.00 0.00 0.00 0.00 0.00
07:55:39 PM 0.00 0.00 0.00 0.00 0.00
07:55:40 PM 10.00 0.00 10.00 0.00 80.00
Average: 1.60 0.00 1.60 0.00 19.20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
wuzesheng@ubuntu:~/work/test$ sar -n DEV 1 3
Linux 2.6.38-8-generic (ubuntu) 07/09/2011 _i686_ (2 CPU)
08:05:33 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
08:05:34 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
08:05:34 PM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
08:05:34 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
08:05:35 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
08:05:35 PM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
08:05:35 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
08:05:36 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
08:05:36 PM eth0 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
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
通过上述选项,关于磁盘IO和网络IO的情况便可以一目了然。
通过本文的内容,关于内存、cpu、IO的情况,我们便可以清楚的了解,其实,在linux下有很多工具可以完成上面的功能,只不过sar是相对比较全面的工具,所以在这里重点介绍了一下。其它的工具,包括vmstat可以用来查看内存的使用情况,top可以用来查看cpu的使用情况,iostat可以用来查看io的情况。说到底,用什么工具不是关键,解决问题才是我们的目的。另外,了解了这些工具的用法,还要学会如何使用它们去解决实际的问题,这是最重要的,后续我将就如何通过这些工具来优化应用程序写几篇文章,分享给大家,敬请期待。
发表评论
-
linux下如何添加一个用户并且让用户获得root权限
2014-01-26 17:26 6141、添加用户,首先用adduser命令添加一个普通用户,命令如 ... -
yum 提示找不到镜像的问题:Couldn't resolve host 'mirrorlist.centos.org'
2014-01-26 14:54 2226问题:[root@cddserver2 ~]# yum - ... -
修改系统字符集
2014-01-17 16:49 733编辑/etc/sysconfig/i18n这个文件, 不管 ... -
关于"Neighbour table overflow“的错误分析及解决方案
2014-01-03 16:19 1945这几天在查看日志文件时,出现 "Neighbour ... -
linux下查看文件打开数
2013-10-23 13:56 1167一、查看资源限定 ulimit -a 查看系统目前资 ... -
Linux lsof命令详解
2012-07-31 11:37 775lsof(list open files)是一个列出当前系统打 ... -
netstat -na输出中Recv-Q和Send-Q两项的值不为零需要注意程序是否有问题
2012-07-23 09:57 11560Recv-Q Send-Q分别表 ... -
linux shell编程一
2012-07-22 20:18 1063一、shell 是linux内核与用户应用的沟通接口,相当于 ... -
linux find mtime参数详解
2012-07-16 15:29 886大家在使用find命令中的mtime参数时候,会看到官方 ... -
查看 Apache并发请求数及其TCP连接状态
2012-04-27 10:09 990服务器上的一些统计数据:1)统计80端口连接数netstat ... -
8 个实用的 Linux netcat 命令示例
2012-04-25 09:30 808Netcat 或者叫 nc 是 Linux 下的一个用于 ... -
16个Linux服务器监控命令
2012-04-20 12:45 609如果你想知道你的服 ... -
linux服务器时间校对
2012-03-22 11:37 1010一、查看服务器时间漂移 [root@localhost ... -
SCP命令用法详解
2012-03-09 12:22 1157Linux、Unix可以使用SCP这个命令来传输数据。s ... -
SCP 命令不需要输入用户密码的使用方法
2012-03-09 12:20 914在两台机器的两个用户之间建立安全的信任关系后,可实现执行 ... -
centos下yum安装 xwindow gnome kde
2011-12-29 13:55 1324centos安装是是使用linux text 模式安装没有 ... -
YUM常用命令介绍
2011-12-23 17:31 7211.列出所有可更新的软件清单命令:yum check-up ... -
在Centos中yum安装和卸载软件的使用方法
2011-12-23 17:30 816在Centos中yum安装和卸载软件的使用方法安装方法安装 ... -
linux 安装sysstat使用iostat、mpstat、sar、sa
2011-12-23 17:19 1353使用yum安装 #yum install sysstat sy ... -
linux 修改系统时间
2011-12-23 13:30 735我们一般使用“date -s”命令来修改系统时间。比如将系统时 ...
相关推荐
"Python 计算思维训练——SAR 图像处理" 在 Python 计算思维训练中,SAR 图像处理是一个重要的应用领域。SAR 图像处理指的是使用Python 工具处理合成孔径雷达(Synthetic Aperture Radar)图像,以提取有价值的信息...
**SAR影像数据处理——SAR影像滤波程序** SAR(Synthetic Aperture Radar)合成孔径雷达是一种遥感技术,它利用雷达信号在不同时间对地表进行探测,生成高分辨率的图像,不受天气和光照条件影响,广泛应用于地形...
通达信指标——SAR底买(副图).doc
kSar,全称Kernel Sar,是一款基于Java开发的开源工具,专门用于Linux系统性能分析。它能够收集并可视化由`sysstat`工具(包括`sar`)产生的数据,使得系统管理员能够更直观地理解系统的运行状况。在Linux环境中,`...
**sar源码——Linux性能测试工具** `sar` 是System Activity Reporter的缩写,它是Linux系统中的一个强大性能监控工具,包含在sysstat软件包之中。sysstat-9.0.6是2010年的一个稳定版本,适用于对Linux系统的性能...
linux 下的sar工具命令小结 - jackyrong - 博客园
**SAR ADC 设计文档及电路图——可仿真 SARADC SAR_ADC** SAR(Successive Approximation Register,逐次比较型模数转换器)ADC是一种常见的数字信号处理组件,广泛应用于各种电子系统中,如通信、医疗设备、工业...
通达信指标——新SAR(副图) 通达信指标是金融市场分析中常用的技术指标之一,用于分析股票、期货、外汇等金融产品的价格走势。新SAR(Stop and Reverse)指标是通达信指标的变种,旨在帮助投资者捕捉市场趋势和...
`sar`(System Activity Reporter)是Linux下的一个强大的系统性能分析工具,它是`sysstat`软件包的一部分。通过`sar`,我们可以收集并分析系统的各种运行数据,包括CPU利用率、内存使用情况、磁盘I/O等。 **sar的...
本篇文章将详细介绍Linux下一些常见的性能分析工具及其应用场景。 首先,vmstat(virtual memory statistics)是一个非常实用的工具,可以监控系统的虚拟内存、进程、CPU等信息。它通过显示系统的进程状态、内存...
"Linux-SAR介绍" SAR(System Activity Report)是一种用于收集和保存系统活动信息的工具。它可以连续对系统采样,获得大量的采样数据,并且采样数据和分析的结果都可以存入文件,而所需的负载很小。 SAR 由四个...
Linux下的sar工具是一款强大的系统活动分析工具,它能够收集、报告和存储系统层面的各种性能数据,包括CPU利用率、内存使用情况、I/O吞吐量、网络活动等。sar工具是System Activity Reporter的简称,它是sysstat...
在MATLAB中进行这些欺骗干扰的仿真,通常需要编写一个主程序,例如`run.m`,这个程序会调用相应的函数生成各种类型的干扰,并结合SAR成像算法,如匹配滤波器或傅立叶变换,来形成最终的干扰图像。在处理完干扰后,...
### Linux性能分析利器:sar详解 #### 概述 `sar`,全称为System Activity Reporter,是...总之,`sar`是Linux系统管理员不可或缺的工具,通过定期收集和分析系统性能数据,为系统维护和优化提供了坚实的数据基础。
### Linux系统分析工具详解 #### 引言 随着Linux系统的广泛应用与不断演进,系统性能分析变得愈发重要。为了帮助用户更好地理解并优化Linux系统的性能,本文将基于Brendan Gregg于2013年在SCaLE11x大会上分享的...
程序的编写会根据SAR的成像原理,按照一定的步骤进行,包括信号的生成、脉冲压缩、方位向合成孔径处理等,每一行程序都会附加详细的注释说明,以利于初学者理解。 考虑到SAR技术的复杂性,对雷达平台的运动、波束...
**高分三号SAR图像解析** 高分三号(Gaofen-3)是中国自主研制的一颗合成孔径雷达(Synthetic Aperture Radar,简称SAR)卫星,主要用于海洋观测、灾害监测、气象预报等领域。SAR图像是一种利用雷达技术获取地表...
在Linux环境下,`sar`(System Activity Reporter)是一款极其重要的性能监控工具。它能够收集并报告系统的各种活动数据,从而帮助系统管理员进行性能分析与故障排查。`sar`命令是sysstat软件包的一部分,此软件包还...
3. **S1 Reducers**:这部分可能会介绍如何使用GEE中的Reducers对时间序列数据进行统计分析,如平均值、中位数、标准差等,以揭示地表变化趋势或异常情况。 4. **S1 Time Series**:这部分可能深入探讨如何构建和...
SAR成像仿真Matlab程序,用于sar初学者。