标签:
在我们上一篇文章中,我们已经学习了如何去安装和更新sysstat,并且了解了包中的一些实用工具。
今天,我们将会通过一些有趣的实例来学习mpstat, pidstat, iostat和sar等工具,这些工具可以帮组我们找出系统中的问题。这些工具都包含了不同的选项,这意味着你可以根据不同的工作使用不同的选项,或者根据你的需求来自定义脚本。我们都知道,系统管理员都会有点懒,他们经常去寻找一些更简单的方法来完成他们的工作。
1.不带任何参数的使用mpstat命令将会输出所有CPU的平均统计信息
2.使用‘-p’ (处理器编号)和‘ALL’参数将会从0开始独立的输出每个CPU的统计信息,0表示第一个cpu。
3.要进行‘N’次,平均每次间隔n秒的输出CPU统计信息,如下所示。
(LCTT译注: 上面命令中‘2’ 表示每2秒执行一次‘mpstat -P ALL’命令, ‘5’表示共执行5次)
4.使用‘I’参数将会输出每个处理器的中断统计信息
5.使用‘A’参数将会输出上面提到的所有信息,等同于‘-u -I All -p ALL’。
该命令是用于监控进程和当前受内核管理的线程。pidstat还可以检查子进程和线程的状态。
6.不带任何参数使用pidstat将会输出所有活跃的任务。
tecmint@tecmint ~ $ pidstat
7.使用‘-p’(进程)参数输出所有活跃和非活跃的任务。
8.使用‘-d 2’参数,我们可以看到I/O统计信息,2表示以秒为单位对统计信息进行刷新。这个参数可以方便的知道当系统在进行繁重的I/O时,那些进行占用大量的资源的进程。
9.想要每间隔2秒对进程4164的cpu统计信息输出3次,则使用如下带参数‘-t’(输出某个选定进程的统计信息)的命令。
10.使用‘-rh’参数,将会输出进程的内存使用情况。如下命令每隔2秒刷新经常的内存使用情况。
11.要使用‘-G’参数可以输出包含某个特定字符串的进程信息。如下命令输出所有包含‘VB’字符串的进程的统计信息,使用‘-t’参数将线程的信息也进行输出。
12.使用‘-R’参数输出实时的进程优先级和调度信息。
因为我们已经学习过iostat命令了,因此在本文中不在对其进行赘述。若想查看iostat命令的详细信息,请参看“使用Iostat和Vmstat进行Linux性能监控”
我们可以使用‘sar’命令来获得整个系统性能的报告。这有助于我们定位系统性能的瓶颈,并且有助于我们找出这些烦人的性能问题的解决方法。
Linux内核维护着一些内部计数器,这些计数器包含了所有的请求及其完成时间和I/O块数等信息,sar命令从所有的这些信息中计算出请求的利用率和比例,以便找出瓶颈所在。
sar命令主要的用途是生成某段时间内所有活动的报告,因此,必需确保sar命令在适当的时间进行数据采集(而不是在午餐时间或者周末。)
13.下面是执行sar命令的基本用法。它将会在当前目录下创建一个名为‘sarfile’的文件。‘-u’参数表示CPU详细信息,5表示生产5次报告,2表示每次报告的时间间隔为2秒。
14.在上面的例子中,我们交互的执行sar命令。sar命令也提供了使用cron进行非交互的执行sar命令的方法,使用/usr/local/lib/sa1和/usr/local/lib/sa2脚本(如果你在安装时使用了/usr/local作为前缀的话)
使用如下Cron项目来将sar命令非交互化。
在sa1脚本的后端,sa1脚本会调用sabc(系统活动数据收集器,System Activity Data Collector)工具采集特定时间间隔内的数据。sa2脚本会调用sar来将二进制日志文件转换为用户可读的形式。
15.使用‘-q’参数来检查运行队列的长度,所有进程的数量和平均负载
16.使用‘-F’参数查看当前挂载的文件系统的使用统计信息
17.使用‘-n DEV’参数查看网络统计信息
18.使用‘-d’参数查看块设备统计信息(与iostat类似)。
19.使用‘-r’参数输出内存统计信息。
20.使用‘sadf -d’参数可以将数据导出为数据库可以使用的格式。
你也可以将这些数据存储在一个csv文档中,然后绘制成图表展示方式,如下所示
网络信息图表
现在,你可以参考man手册来后去每个参数的更多详细信息,并且请在文章下留下你宝贵的评论。
via: http://www.tecmint.com/sysstat-commands-to-monitor-linux/
作者:Kuldeep Sharma 译者:cvsher 校对:wxy
标签:
原文地址:http://www.cnblogs.com/oskb/p/5666404.html