Linux编程:《sar访谈》-linux命令五分钟系列之二十九仓酷云
常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基的。很久没有写内容翔实的文章了,比来我和Lee.MaRs都对照忙,公司的项目都很紧啊:)
起首先祝贺一下linux年夜棚,定阅人数已到达了988人。我很等候1000时期的到来!
<br>
===
言回正传,明天为人人先容一个好伴侣,名字叫sar,它的头脑里满是呆板体系功能的信息,你只需和它弄好干系,今后想取得任何这方面的信息,可就不愁了!
1sar是做甚么的?
次要卖力搜集、报告与存储体系运转信息的。
2sar怎样把持信息输入的工夫距离和次数?
有两个参数十分十分经常使用,就是“工夫距离”和“输入次数”。
工夫距离暗示两次信息输入之间的工夫距离,单元是秒。假如这个值被设置为0,则暗示所输入的信息是从开机到如今为止的信息均匀值。假如不是0,sar盘算就都是从以后入手下手的信息的均匀值。
输入次数暗示输入体系信息的次数,默许是1次。假如这个值被设置为0,则会永久的输入下往。
好比:sar605暗示每60秒输入一次,共输入5次。(假如你头脑够快的话,会发明这个命令将用时300秒,由于每次信息输入前会先停留60秒的。)
3怎样把sar输入的这些有效信息存到文件中往呢?
sar专门供应了一个选项-ofilename,你只需利用它,就能够喽!
好比sar56-osys_info
不外,不幸的是,当你用cat看sys_info时发明全都是乱码,呵呵,别发急,sar为你筹办了-ffilename选项,你只需用-f设定要读取的信息存储文件,就能够明晰地读出信息了。
好比sar-fsys_info。
假如你以为这类格局有些倒霉于处置,尝尝加上-h选项,你将取得纷歧样的体验。:D
4假如我利用-o时,居然忘了输出文件名,sar会埋怨么?
假如你只写了-o,没写详细文件名,那末sar会主动把输入信息更纪录在/var/log/saDD文件里,个中DD暗示当天的日期数字。
好比sar22-o
那末输入信息会纪录在/var/log/sa/sa17文件里,由于明天是2009年10月17日。
5假如我的CPU是多核处置器,那末sar能晓得某一个核的运转信息么?
完整没成绩的。有一个选项-P,就是用来为多核处置器而计划的。
当在利用sar命令而没有设定-P选项时,sar会依据一切核给出一个微观报告,也就是均匀的值。
假如利用了-P选项来指定某一个核,那末就会针对这个独自的核给出详细功能信息。
当利用-PALL时,sar就会依据每个核都给出其详细功能信息,然后再给出一个总的功能信息。
好比,我这里有一个至强处置器的CPU,是八核CPU,看看-P的利用办法吧:
$sar-PALL11Linux2.6.910/16/200910:59:38PMCPU%user%nice%system%iowait%idle10:59:39PMall2.120.002.870.0095.0110:59:39PM00.000.001.980.0098.0210:59:39PM19.000.007.000.0084.0010:59:39PM20.000.001.980.0098.0210:59:39PM37.000.001.000.0092.0010:59:39PM40.000.003.030.0096.9710:59:39PM50.000.001.000.0099.0010:59:39PM60.000.003.960.0096.0410:59:39PM70.990.001.980.0097.03Average:CPU%user%nice%system%iowait%idleAverage:all2.120.002.870.0095.01Average:00.000.001.980.0098.02Average:19.000.007.000.0084.00Average:20.000.001.980.0098.02Average:37.000.001.000.0092.00Average:40.000.003.030.0096.97Average:50.000.001.000.0099.00Average:60.000.003.960.0096.04Average:70.990.001.980.0097.03看,sar会依据处置器的每个核给出功能信息。当我们想检察第6个核的信息时,其输入以下:
$sar-P511Linux2.6.910/16/200911:01:16PMCPU%user%nice%system%iowait%idle11:01:17PM50.000.002.000.0098.00Average:CPU%user%nice%system%iowait%idleAverage:50.000.002.000.0098.006仿佛sar只会输入CPU信息,怎样检察内存信息、收集信息大概IO信息呢?
是如许的,sar命令在默许情形下是输入CPU信息的,只要当用户专门利用选项来设定要检察收集信息时,sar才会输入收集确当前信息,内存信息和IO信息也是一样事理。
经常使用的选项包含:
-b:呈报I/O利用情形和传输速度。(只合用于2.5及之前的内核,以是新内核有大概不撑持这个选项)-B:呈报“页”利用情形-c:呈报历程创立情形-d:呈报每个块设备的利用情形(当你利用时,你会发明在DEV列有相似dev1-7格局的字符串,个中1代表设备的主序号,n代表设备的从序号,并且rd_sec/s列和wr_sec/s列的单元都是512bytes,也就是512B,也就是0.5KB)-I:报告中止情形-n:报告收集情形-P:设定CPU-q:报告行列长度和负载信息-r:报告内存和互换区利用情形-R:报告内存情形-u:报告CPU利用情形-v:报告i节点、文件和其他内核表信息-w:报告体系高低文切换情形-x:能够针对某个特定PID给出统计信息,能够间接指定历程ID号;也能够指定为SELF,如许就是检测sar历程自己;假如设定为ALL,则暗示报告一切体系历程信息。-X:报告特定PID的子历程的信息-y:设定TTY设备的信息。7这么一堆指代某项功能的选项,我懒得利用,我想一下输入最全最全的信息!
sar供应了一个无敌选项,即-A,它代表all,并且仍是年夜写的,可见其能力无敌:D
这个-A就相称于-bBcdqrRuvwWy-ISUM-nFULL-PALL这么一堆选项了,擦亮眼睛看看每个选项,熟不熟~~
不外,话说返来,-A容易不要用,不然一年夜坨信息输入到屏幕上,刷屏就要刷N年,你不晕菜才怪。
8我想使用sar来做个背景监控程序,能够及时报告呆板功能情形。sar能放背景运转么?
固然能够,只需借助linux的背景符就能够了,别忘了把尺度输入重定向哦,办法是如许的:
sar-omonitor.resintervalcount>/dev/null2>&1&记得把interval和count都交换为你想要的距离和次数。如许一切的功能信息就全都存进二进制格局的数据文件monitor.res里了。当读取时利用-f就能够了。
9我不想利用“距离和次数”的办法来指定报告工夫,我想让sar在某个特准时间停止,无方法没?
能够完成,利用-ehh:mm:ss选项就能够了,设定好你的停止工夫,sar就会乖乖的在这个工夫停止喽。
默许的停止工夫是18:00:00,也就是说假如你利用-e但没有指定详细工夫,sar就会用在早晨6点停止。
必要注重的一点是,-e选项只能用在读取(-f)或写进(-o)信息文件时才可用哦。
10我以为-o存储的文件的内容倒霉于我提取无效信息,怎样办呢?
sar想到了这一点,它供应了一个-h选项,就是用于当你利用-f选项读取文件时,以一种特别格局输入,这类格局很利于awk等文本处置工具来提取响应信息,你能够碰运气:)
11选项良多,字段良多,背景常识也良多,弄得我快昏了,能不克不及给一些简便了然的例子呢?
这么多信息想立即把握,并不是易事,分离例子,也许效果更好些,例子以下:
sar-u25:每一个两秒呈报一次CPU利用情形,共呈报5次
sar-I14-osys_info210:报告IRQ14的信息,每两秒一次,共10次,一切输入信息存进sys_info中往。
sar-r-nDEV-fsys_net:显现内存利用情形、互换区利用情形和收集情形,一切输入信息存进sys_net文件中。
12我对收集监控这块对照感乐趣,能具体说说么?
sar命令利用-n选项能够报告收集相干信息,可用的参数包含:DEV、EDEV、SOCK和FULL。
假如你利用DEV关头字,那末sar将报告和收集设备相干的信息,如lo,eth0或eth1等,比方:
$sar-nDEV12Linux2.6.910/17/200912:10:49AMIFACErxpck/stxpck/srxbyt/stxbyt/srxcmp/stxcmp/srxmcst/s12:10:50AMeth063.640.004072.730.000.000.000.0012:10:50AMeth130.3013.132907.071234.340.000.000.0012:10:50AMlo0.000.000.000.000.000.000.00IFACE:就是收集设备的称号;
rxpck/s:每秒钟吸收到的包数量
txpck/s:每秒钟发送进来的包数量
rxbyt/s:每秒钟吸收到的字节数
txbyt/s:每秒钟发送进来的字节数
rxcmp/s:每秒钟吸收到的紧缩包数量
txcmp/s:每秒钟发送进来的紧缩包数量
txmcst/s:每秒钟吸收到的多播包的包数量
假如你利用EDEV关头字,那末会针对收集设备报告其失利情形,比方:
$sar-nEDEV13Linux2.6.910/17/200912:15:06AMIFACErxerr/stxerr/scoll/srxdrop/stxdrop/stxcarr/srxfram/srxfifo/stxfifo/s12:15:07AMlo0.000.000.000.000.000.000.000.000.0012:15:07AMeth00.000.000.000.000.000.000.000.000.0012:15:07AMeth10.000.000.000.000.000.000.000.000.00rxerr/s:每秒钟吸收到的破坏的包的数量
txerr/s:当发送包时,每秒钟产生的毛病数
coll/s:当发送包时,每秒钟产生的抵触触犯(collisions)数(这个是在半双工形式下才有)
rxdrop/s:因为缓冲区满,收集设备吸收端,每秒钟丢失落的收集包的数量
txdrop/s:因为缓冲区满,收集设备发送端,每秒钟丢失落的收集包的数量
txcarr/s:当发送数据包时,每秒钟载波毛病产生的次数
linux系统的文件布置,etc/,opt/目录的内容等; Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。 感谢老师和同学们在学习上对我的帮助。 熟读写基础知识,学得会不如学得牢。 尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。 一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢。 随着实验课程的结束,理论课也该结束了,说实话教OS的这两位老师是我们遇到过的不错的老师(这话放这可能不太恰当). 最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。 Linux简单,占内存少,特别是对于程序开发人员来说很方便,如果说windows的成功在于其方便用户的窗口管理界面。 如果你想深入学习Linux,看不懂因为文档实在是太难了。写的最好的、最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。 这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。 学习Linux系统在服务中的配置方法及使用方法。Linux在服务器中应用相当广,应对常用的apache,samba,ftp等服务器基本配置清楚了解。[重点,应巩固学习] 掌握硬件配置,如显卡,声卡,网卡等,硬件只要不是太老或太新一般都能被支持,作为一名Linux系统管理员建议多阅读有关硬件配置文章,对各种不支持或支持不太好的硬件有深刻的了解。 即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。 甚至目前许多应用软件都是基于它的。可是没有哪一个系统是十分完美的。 为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。
页:
[1]