linux程序分析工具介绍(三)——sar
本文要介绍的sar,是linux下用来分析系统本身运行情况的非常有用的工具。我们知道,程序在操作系统上要运行,要关注的点不外乎内存,CPU和IO(包括磁盘IO和网络IO)。我们的应用程序在操作系统中运行前,我们需要了解系统当前的内存,cpu和IO的使用状况,还需要明白我们的应用程序运行时自身所需要的内存,cpu和IO资源的情况。只有操作系统剩余的内存,cpu和IO资源能够满足应用程序所需要的,才能保证应用程序在操作系统中正常的运行。sar就是用来帮助我们了解操作系统当前内存,cpu和IO等资源的使用情况的一个非常方便的工具,下面通过具体的例子来介绍sar的使用。
??????在介绍例子之前,首先需要说一下sar命令的基本用法:sar [option] [interval] [count]
(1)内存使用情况统计:-r,通过这个选项,我们可以了解当前系统中内存的使用情况
12345678
1234567812345678123456789101112131415161718192021222324252627282930123456789101112131415123456789101112131415161718wuzesheng@ubuntu:~/work/test$ sar -n DEV 1 3Linux 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/s08:05:34 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.0008: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/s08:05:35 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.0008: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/s08:05:36 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.0008: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/sAverage: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00Average: eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00??????上面是每1秒统计1次,统计3次的结果,最后几列为均值。
??????通过上述选项,关于磁盘IO和网络IO的情况便可以一目了然。
??????通过本文的内容,关于内存、cpu、IO的情况,我们便可以清楚的了解,其实,在linux下有很多工具可以完成上面的功能,只不过sar是相对比较全面的工具,所以在这里重点介绍了一下。其它的工具,包括vmstat可以用来查看内存的使用情况,top可以用来查看cpu的使用情况,iostat可以用来查看io的情况。说到底,用什么工具不是关键,解决问题才是我们的目的。另外,了解了这些工具的用法,还要学会如何使用它们去解决实际的问题,这是最重要的,后续我将就如何通过这些工具来优化应用程序写几篇文章,分享给大家,敬请期待。