Sysstat性能监控工具包中20个实用命令

Sysstat性能监控工具包中20个实用命令

在我们上一篇文章中,我们已经学习了如何去安装和更新sysstat,并且了解了包中的一些实用工具。

今天,我们将会通过一些有趣的实例来学习mpstat, pidstat, iostat和sar等工具,这些工具可以帮组我们找出系统中的问题。这些工具都包含了不同的选项,这意味着你可以根据不同的工作使用不同的选项,或者根据你的需求来自定义脚本。我们都知道,系统管理员都会有点懒,他们经常去寻找一些更简单的方法来完成他们的工作。

mpstat - 处理器统计信息

1.不带任何参数的使用mpstat命令将会输出所有CPU的平均统计信息


  1. tecmint@tecmint ~ $ mpstat
  2.  
  3. Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
  4.  
  5. 12:23:57 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
  6. 12:23:57 IST all 37.35 0.01 4.72 2.96 0.00 0.07 0.00 0.00 0.00 54.88

2.使用‘-p’ (处理器编号)和‘ALL’参数将会从0开始独立的输出每个CPU的统计信息,0表示第一个cpu。


  1. tecmint@tecmint ~ $ mpstat -P ALL
  2.  
  3. Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
  4.  
  5. 12:29:26 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
  6. 12:29:26 IST all 37.33 0.01 4.57 2.58 0.00 0.07 0.00 0.00 0.00 55.44
  7. 12:29:26 IST 0 37.90 0.01 4.96 2.62 0.00 0.03 0.00 0.00 0.00 54.48
  8. 12:29:26 IST 1 36.75 0.01 4.19 2.54 0.00 0.11 0.00 0.00 0.00 56.40

3.要进行‘N’次,平均每次间隔n秒的输出CPU统计信息,如下所示。


  1. tecmint@tecmint ~ $ mpstat -P ALL 2 5
  2.  
  3. Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
  4.  
  5. 12:36:21 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
  6. 12:36:23 IST all 53.38 0.00 2.26 0.00 0.00 0.00 0.00 0.00 0.00 44.36
  7. 12:36:23 IST 0 46.23 0.00 1.51 0.00 0.00 0.00 0.00 0.00 0.00 52.26
  8. 12:36:23 IST 1 60.80 0.00 3.02 0.00 0.00 0.00 0.00 0.00 0.00 36.18
  9.  
  10. 12:36:23 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
  11. 12:36:25 IST all 34.18 0.00 2.30 0.00 0.00 0.00 0.00 0.00 0.00 63.52
  12. 12:36:25 IST 0 31.63 0.00 1.53 0.00 0.00 0.00 0.00 0.00 0.00 66.84
  13. 12:36:25 IST 1 36.73 0.00 2.55 0.00 0.00 0.00 0.00 0.00 0.00 60.71
  14.  
  15. 12:36:25 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
  16. 12:36:27 IST all 33.42 0.00 5.06 0.25 0.00 0.25 0.00 0.00 0.00 61.01
  17. 12:36:27 IST 0 34.34 0.00 4.04 0.00 0.00 0.00 0.00 0.00 0.00 61.62
  18. 12:36:27 IST 1 32.82 0.00 6.15 0.51 0.00 0.00 0.00 0.00 0.00 60.51

(LCTT译注: 上面命令中‘2’ 表示每2秒执行一次‘mpstat -P ALL’命令, ‘5’表示共执行5次)

4.使用‘I’参数将会输出每个处理器的中断统计信息


  1. tecmint@tecmint ~ $ mpstat -I
  2.  
  3. Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
  4.  
  5. 12:39:56 IST CPU intr/s
  6. 12:39:56 IST all 651.04
  7.  
  8. 12:39:56 IST CPU 0/s 1/s 6/s 8/s 9/s 12/s 16/s 17/s 20/s 21/s 22/s 23/s 45/s 46/s 47/s NMI/s LOC/s SPU/s PMI/s IWI/s RTR/s RES/s CAL/s TLB/s TRM/s THR/s MCE/s MCP/s ERR/s MIS/s
  9. 12:39:56 IST 0 76.27 1.73 0.00 0.00 0.42 0.33 0.00 0.06 11.46 0.00 0.00 0.01 7.62 1.87 0.05 0.33 182.26 0.00 0.33 3.03 0.00 22.66 0.16 5.14 0.00 0.00 0.00 0.00 0.00 0.00
  10. 12:39:56 IST 1 70.88 1.44 0.00 0.00 0.41 0.33 0.00 27.91 10.33 0.00 0.00 0.01 7.27 1.79 0.05 0.32 184.11 0.00 0.32 5.17 0.00 22.09 0.13 4.73 0.00 0.00 0.00 0.00 0.00 0.00
  11.  
  12. 12:39:56 IST CPU HI/s TIMER/s NET_TX/s NET_RX/s BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s RCU/s
  13. 12:39:56 IST 0 0.00 116.49 0.05 0.27 7.33 0.00 1.22 10.44 0.13 37.47
  14. 12:39:56 IST 1 0.00 111.65 0.05 0.41 7.07 0.00 56.36 9.97 0.13 41.38

5.使用‘A’参数将会输出上面提到的所有信息,等同于‘-u -I All -p ALL’。


  1. tecmint@tecmint ~ $ mpstat -A
  2.  
  3. Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
  4.  
  5. 12:41:39 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
  6. 12:41:39 IST all 38.70 0.01 4.47 2.01 0.00 0.06 0.00 0.00 0.00 54.76
  7. 12:41:39 IST 0 39.15 0.01 4.82 2.05 0.00 0.02 0.00 0.00 0.00 53.95
  8. 12:41:39 IST 1 38.24 0.01 4.12 1.98 0.00 0.09 0.00 0.00 0.00 55.57
  9.  
  10. 12:41:39 IST CPU intr/s
  11. 12:41:39 IST all 651.73
  12. 12:41:39 IST 0 173.16
  13. 12:41:39 IST 1 225.89
  14.  
  15. 12:41:39 IST CPU 0/s 1/s 6/s 8/s 9/s 12/s 16/s 17/s 20/s 21/s 22/s 23/s 45/s 46/s 47/s NMI/s LOC/s SPU/s PMI/s IWI/s RTR/s RES/s CAL/s TLB/s TRM/s THR/s MCE/s MCP/s ERR/s MIS/s
  16. 12:41:39 IST 0 76.04 1.77 0.00 0.00 0.41 0.36 0.00 0.06 11.60 0.00 0.00 0.01 7.42 1.83 0.05 0.34 182.89 0.00 0.34 2.97 0.00 22.69 0.16 5.22 0.00 0.00 0.00 0.00 0.00 0.00
  17. 12:41:39 IST 1 70.70 1.48 0.00 0.00 0.40 0.36 0.00 27.47 10.46 0.00 0.00 0.01 7.08 1.75 0.05 0.32 184.83 0.00 0.32 5.10 0.00 22.19 0.13 4.91 0.00 0.00 0.00 0.00 0.00 0.00
  18.  
  19. 12:41:39 IST CPU HI/s TIMER/s NET_TX/s NET_RX/s BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s RCU/s
  20. 12:41:39 IST 0 0.00 116.96 0.05 0.26 7.12 0.00 1.24 10.42 0.12 36.99
  21. 12:41:39 IST 1 0.00 112.25 0.05 0.40 6.88 0.00 55.05 9.93 0.13 41.20

pidstat - 进程和内核线程的统计信息

该命令是用于监控进程和当前受内核管理的线程。pidstat还可以检查子进程和线程的状态。

语法


  1. # pidstat <OPTIONS> [INTERVAL] [COUNT]

6.不带任何参数使用pidstat将会输出所有活跃的任务。

tecmint@tecmint ~ $ pidstat


  1. Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
  2.  
  3. 12:47:24 IST UID PID %usr %system %guest %CPU CPU Command
  4. 12:47:24 IST 0 1 0.01 0.12 0.00 0.13 1 init
  5. 12:47:24 IST 0 3 0.00 0.01 0.00 0.01 0 ksoftirqd/0
  6. 12:47:24 IST 0 9 0.00 0.04 0.00 0.04 0 rcu_sched
  7. 12:47:24 IST 0 10 0.00 0.00 0.00 0.00 0 watchdog/0
  8. 12:47:24 IST 0 11 0.00 0.00 0.00 0.00 1 watchdog/1
  9. 12:47:24 IST 0 12 0.00 0.00 0.00 0.00 1 migration/1
  10. 12:47:24 IST 0 13 0.00 0.01 0.00 0.01 1 ksoftirqd/1
  11. 12:47:24 IST 0 23 0.00 0.00 0.00 0.00 0 kworker/u9:0
  12. 12:47:24 IST 0 29 0.00 0.61 0.00 0.61 0 kworker/0:1
  13. 12:47:24 IST 0 30 0.00 0.06 0.00 0.06 1 kworker/1:1
  14. 12:47:24 IST 0 224 0.00 0.01 0.00 0.01 1 jbd2/sda1-8
  15. 12:47:24 IST 0 360 0.00 0.00 0.00 0.00 1 upstart-udev-br
  16. 12:47:24 IST 0 365 0.01 0.00 0.00 0.01 0 systemd-udevd
  17. 12:47:24 IST 0 476 0.00 0.00 0.00 0.00 0 kworker/u9:1

7.使用‘-p’(进程)参数输出所有活跃和非活跃的任务。


  1. tecmint@tecmint ~ $ pidstat -p ALL
  2.  
  3. Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
  4.  
  5. 12:51:55 IST UID PID %usr %system %guest %CPU CPU Command
  6. 12:51:55 IST 0 1 0.01 0.11 0.00 0.12 1 init
  7. 12:51:55 IST 0 2 0.00 0.00 0.00 0.00 0 kthreadd
  8. 12:51:55 IST 0 3 0.00 0.01 0.00 0.01 0 ksoftirqd/0
  9. 12:51:55 IST 0 5 0.00 0.00 0.00 0.00 0 kworker/0:0H
  10. 12:51:55 IST 0 7 0.00 0.00 0.00 0.00 0 migration/0
  11. 12:51:55 IST 0 8 0.00 0.00 0.00 0.00 0 rcu_bh
  12. 12:51:55 IST 0 9 0.00 0.04 0.00 0.04 1 rcu_sched
  13. 12:51:55 IST 0 10 0.00 0.00 0.00 0.00 0 watchdog/0
  14. 12:51:55 IST 0 11 0.00 0.00 0.00 0.00 1 watchdog/1
  15. 12:51:55 IST 0 12 0.00 0.00 0.00 0.00 1 migration/1
  16. 12:51:55 IST 0 13 0.00 0.01 0.00 0.01 1 ksoftirqd/1
  17. 12:51:55 IST 0 15 0.00 0.00 0.00 0.00 1 kworker/1:0H
  18. 12:51:55 IST 0 16 0.00 0.00 0.00 0.00 1 khelper
  19. 12:51:55 IST 0 17 0.00 0.00 0.00 0.00 0 kdevtmpfs
  20. 12:51:55 IST 0 18 0.00 0.00 0.00 0.00 0 netns
  21. 12:51:55 IST 0 19 0.00 0.00 0.00 0.00 0 writeback
  22. 12:51:55 IST 0 20 0.00 0.00 0.00 0.00 1 kintegrityd

8.使用‘-d 2’参数,我们可以看到I/O统计信息,2表示以秒为单位对统计信息进行刷新。这个参数可以方便的知道当系统在进行繁重的I/O时,那些进行占用大量的资源的进程。


  1. tecmint@tecmint ~ $ pidstat -d 2
  2.  
  3. Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
  4.  
  5. 03:26:53 EDT PID kB_rd/s kB_wr/s kB_ccwr/s Command
  6.  
  7. 03:26:55 EDT PID kB_rd/s kB_wr/s kB_ccwr/s Command
  8. 03:26:57 EDT 574 0.00 148.00 2.00 miniserv.pl
  9.  
  10. 03:27:01 EDT PID kB_rd/s kB_wr/s kB_ccwr/s Command
  11. 03:27:03 EDT 1 0.00 8.00 2.00 init
  12. 03:27:03 EDT 450 0.00 2.00 0.00 rsyslogd
  13. 03:27:03 EDT 534 138.00 10.00 4.00 crond
  14. 03:27:03 EDT 25100 0.00 6.00 0.00 sendmail
  15. 03:27:03 EDT 30829 0.00 6.00 0.00 java

9.想要每间隔2秒对进程4164的cpu统计信息输出3次,则使用如下带参数‘-t’(输出某个选定进程的统计信息)的命令。


  1. tecmint@tecmint ~ $ pidstat -t -p 4164 2 3
  2.  
  3. Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
  4.  
  5. 01:09:06 IST UID TGID TID %usr %system %guest %CPU CPU Command
  6. 01:09:08 IST 1000 4164 - 22.00 1.00 0.00 23.00 1 firefox
  7. 01:09:08 IST 1000 - 4164 20.00 0.50 0.00 20.50 1 |__firefox
  8. 01:09:08 IST 1000 - 4171 0.00 0.00 0.00 0.00 0 |__Gecko_IOThread
  9. 01:09:08 IST 1000 - 4172 0.00 0.00 0.00 0.00 0 |__Socket
  10. 01:09:08 IST 1000 - 4173 0.00 0.00 0.00 0.00 0 |__JS
  11. 01:09:08 IST 1000 - 4174 0.00 0.00 0.00 0.00 0 |__JS
  12. 01:09:08 IST 1000 - 4175 0.00 0.00 0.00 0.00 0 |__Hang
  13. 01:09:08 IST 1000 - 4176 0.00 0.00 0.00 0.00 1 |__gdbus
  14. 01:09:08 IST 1000 - 4177 0.00 0.00 0.00 0.00 1 |__gmain

10.使用‘-rh’参数,将会输出进程的内存使用情况。如下命令每隔2秒刷新经常的内存使用情况。


  1. tecmint@tecmint ~ $ pidstat -rh 2 3
  2.  
  3. Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
  4.  
  5. # Time UID PID minflt/s majflt/s VSZ RSS %MEM Command
  6. 1409816695 1000 3958 3378.22 0.00 707420 215972 5.32 cinnamon
  7. 1409816695 1000 4164 406.93 0.00 1252024 461404 11.36 firefox
  8. 1409816695 1000 6676 168.81 0.00 4436 984 0.02 pidstat
  9.  
  10. # Time UID PID minflt/s majflt/s VSZ RSS %MEM Command
  11. 1409816697 0 1601 644.00 0.00 506728 316788 7.80 Xorg
  12. 1409816697 1000 3958 3412.00 0.00 707420 215972 5.32 cinnamon
  13. 1409816697 1000 4164 2667.00 0.00 1259576 471724 11.62 firefox
  14. 1409816697 1000 6676 172.50 0.00 4436 1020 0.03 pidstat
  15.  
  16. # Time UID PID minflt/s majflt/s VSZ RSS %MEM Command
  17. 1409816699 0 1601 644.00 0.00 506728 316788 7.80 Xorg
  18. 1409816699 1000 3958 4094.00 0.00 710148 218700 5.39 cinnamon
  19. 1409816699 1000 4164 599.00 0.00 1261944 476664 11.74 firefox
  20. 1409816699 1000 6676 168.00 0.00 4436 1020 0.03 pidstat

11.要使用‘-G’参数可以输出包含某个特定字符串的进程信息。如下命令输出所有包含‘VB’字符串的进程的统计信息,使用‘-t’参数将线程的信息也进行输出。


  1. tecmint@tecmint ~ $ pidstat -G VB
  2.  
  3. Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
  4.  
  5. 01:09:06 IST UID PID %usr %system %guest %CPU CPU Command
  6. 01:09:08 IST 1000 1492 22.00 1.00 0.00 23.00 1 VBoxService
  7. 01:09:08 IST 1000 1902 4164 20.00 0.50 0.00 20.50 VBoxClient
  8. 01:09:08 IST 1000 1922 4171 0.00 0.00 0.00 0.00 VBoxClient


  1. tecmint@tecmint ~ $ pidstat -t -G VB
  2. Linux 2.6.32-431.el6.i686 (tecmint) 09/04/2014 _i686_ (2 CPU)
  3.  
  4. 03:19:52 PM UID TGID TID %usr %system %guest %CPU CPU Command
  5. 03:19:52 PM 0 1479 - 0.01 0.12 0.00 0.13 1 VBoxService
  6. 03:19:52 PM 0 - 1482 0.00 0.00 0.00 0.00 0 |__timesync
  7. 03:19:52 PM 0 - 1483 0.01 0.06 0.00 0.06 0 |__vminfo
  8. 03:19:52 PM 0 - 1485 0.00 0.01 0.00 0.01 1 |__memballoon
  9. 03:19:52 PM 0 - 1486 0.00 0.01 0.00 0.01 1 |__vmstats
  10. 03:19:52 PM 0 - 1487 0.00 0.05 0.00 0.05 0 |__automount
  11. 03:19:52 PM 0 1913 - 0.00 0.00 0.00 0.00 0 VBoxClient
  12. 03:19:52 PM 0 - 1913 0.00 0.00 0.00 0.00 0 |__VBoxClient
  13. 03:19:52 PM 0 - 1942 0.00 0.00 0.00 0.00 0 |__SHCLIP
  14. 03:19:52 PM 0 1933 - 0.04 0.89 0.00 0.93 0 VBoxClient
  15. 03:19:52 PM 0 - 1936 0.04 0.89 0.00 0.93 1 |__X11-NOTIFY

12.使用‘-R’参数输出实时的进程优先级和调度信息。


  1. tecmint@tecmint ~ $ pidstat -R
  2.  
  3. Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
  4.  
  5. 01:09:06 IST UID PID prio policy Command
  6. 01:09:08 IST 1000 3 99 FIFO migration/0
  7. 01:09:08 IST 1000 5 99 FIFO migration/0
  8. 01:09:08 IST 1000 6 99 FIFO watchdog/0

因为我们已经学习过iostat命令了,因此在本文中不在对其进行赘述。若想查看iostat命令的详细信息,请参看“使用Iostat和Vmstat进行Linux性能监控

sar - 系统活动报告

我们可以使用‘sar’命令来获得整个系统性能的报告。这有助于我们定位系统性能的瓶颈,并且有助于我们找出这些烦人的性能问题的解决方法。

Linux内核维护着一些内部计数器,这些计数器包含了所有的请求及其完成时间和I/O块数等信息,sar命令从所有的这些信息中计算出请求的利用率和比例,以便找出瓶颈所在。

sar命令主要的用途是生成某段时间内所有活动的报告,因此,必需确保sar命令在适当的时间进行数据采集(而不是在午餐时间或者周末。)

13.下面是执行sar命令的基本用法。它将会在当前目录下创建一个名为‘sarfile’的文件。‘-u’参数表示CPU详细信息,5表示生产5次报告,2表示每次报告的时间间隔为2秒。


  1. tecmint@tecmint ~ $ sar -u -o sarfile 2 5
  2.  
  3. Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
  4.  
  5. 01:42:28 IST CPU %user %nice %system %iowait %steal %idle
  6. 01:42:30 IST all 36.52 0.00 3.02 0.00 0.00 60.45
  7. 01:42:32 IST all 43.32 0.00 5.04 0.00 0.00 51.64
  8. 01:42:34 IST all 56.46 0.00 4.05 0.00 0.00 39.49
  9. 01:42:36 IST all 44.44 0.00 3.79 0.00 0.00 51.77
  10. 01:42:38 IST all 50.75 0.00 3.75 0.00 0.00 45.50
  11. Average: all 46.30 0.00 3.93 0.00 0.00 49.77

14.在上面的例子中,我们交互的执行sar命令。sar命令也提供了使用cron进行非交互的执行sar命令的方法,使用/usr/local/lib/sa1和/usr/local/lib/sa2脚本(如果你在安装时使用了/usr/local作为前缀的话)

  • /usr/local/lib/sa1是一个可以使用cron进行调度生成二进制日志文件的shell脚本。
  • /usr/local/lib/sa2是一个可以将二进制日志文件转换为用户可读的编码方式。

使用如下Cron项目来将sar命令非交互化。


  1. # 每10分钟运行sa1脚本来采集数据
  2. */2 * * * * /usr/local/lib/sa/sa1 2 10
  3.  
  4. #在每天23:53时生成一个用户可读的日常报告
  5. 53 23 * * * /usr/local/lib/sa/sa2 -A

在sa1脚本的后端,sa1脚本会调用sabc(系统活动数据收集器,System Activity Data Collector)工具采集特定时间间隔内的数据。sa2脚本会调用sar来将二进制日志文件转换为用户可读的形式。

15.使用‘-q’参数来检查运行队列的长度,所有进程的数量和平均负载


  1. tecmint@tecmint ~ $ sar -q 2 5
  2.  
  3. Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
  4.  
  5. 02:00:44 IST runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
  6. 02:00:46 IST 1 431 1.67 1.22 0.97 0
  7. 02:00:48 IST 4 431 1.70 1.23 0.97 0
  8. 02:00:50 IST 2 431 1.70 1.23 0.97 0
  9. 02:00:52 IST 2 431 1.70 1.23 0.97 0
  10. 02:00:54 IST 0 431 1.64 1.23 0.97 0
  11. Average: 2 431 1.68 1.23 0.97 0

16.使用‘-F’参数查看当前挂载的文件系统的使用统计信息


  1. tecmint@tecmint ~ $ sar -F 2 4
  2.  
  3. Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
  4.  
  5. 02:02:31 IST MBfsfree MBfsused %fsused %ufsused Ifree Iused %Iused FILESYSTEM
  6. 02:02:33 IST 1001 449 30.95 1213790475088.85 18919505 364463 1.89 /dev/sda1
  7.  
  8. 02:02:33 IST MBfsfree MBfsused %fsused %ufsused Ifree Iused %Iused FILESYSTEM
  9. 02:02:35 IST 1001 449 30.95 1213790475088.85 18919505 364463 1.89 /dev/sda1
  10.  
  11. 02:02:35 IST MBfsfree MBfsused %fsused %ufsused Ifree Iused %Iused FILESYSTEM
  12. 02:02:37 IST 1001 449 30.95 1213790475088.85 18919505 364463 1.89 /dev/sda1
  13.  
  14. 02:02:37 IST MBfsfree MBfsused %fsused %ufsused Ifree Iused %Iused FILESYSTEM
  15. 02:02:39 IST 1001 449 30.95 1213790475088.86 18919505 364463 1.89 /dev/sda1
  16.  
  17. Summary MBfsfree MBfsused %fsused %ufsused Ifree Iused %Iused FILESYSTEM
  18. Summary 1001 449 30.95 1213790475088.86 18919505 364463 1.89 /dev/sda1

17.使用‘-n DEV’参数查看网络统计信息


  1. tecmint@tecmint ~ $ sar -n DEV 1 3 | egrep -v lo
  2.  
  3. Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
  4.  
  5. 02:11:59 IST IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
  6. 02:12:00 IST wlan0 8.00 10.00 1.23 0.92 0.00 0.00 0.00
  7. 02:12:00 IST vmnet8 0.00 0.00 0.00 0.00 0.00 0.00 0.00
  8. 02:12:00 IST eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
  9. 02:12:00 IST vmnet1 0.00 0.00 0.00 0.00 0.00 0.00 0.00

18.使用‘-d’参数查看块设备统计信息(与iostat类似)。


  1. tecmint@tecmint ~ $ sar -d 1 3
  2.  
  3. Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
  4.  
  5. 02:13:17 IST DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
  6. 02:13:18 IST dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
  7.  
  8. 02:13:18 IST DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
  9. 02:13:19 IST dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
  10.  
  11. 02:13:19 IST DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
  12. 02:13:20 IST dev8-0 7.00 32.00 80.00 16.00 0.11 15.43 15.43 10.80

19.使用‘-r’参数输出内存统计信息。


  1. tecmint@tecmint ~ $ sar -r 1 3
  2.  
  3. Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
  4.  
  5. 02:14:29 IST kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
  6. 02:14:30 IST 1465660 2594840 63.90 133052 1549644 3710800 45.35 1133148 1359792 392
  7. 02:14:31 IST 1472724 2587776 63.73 133060 1549792 3715504 45.40 1125816 1360000 836
  8. 02:14:32 IST 1469112 2591388 63.82 133060 1550036 3705288 45.28 1130252 1360168 804
  9. Average: 1469165 2591335 63.82 133057 1549824 3710531 45.34 1129739 1359987 677

20.使用‘sadf -d’参数可以将数据导出为数据库可以使用的格式。


  1. tecmint@tecmint ~ $ safd -d /var/log/sa/sa20140903 -- -n DEV | grep -v lo
  2.  
  3. # hostname;interval;timestamp;IFACE;rxpck/s;txpck/s;rxkB/s;txkB/s;rxcmp/s;txcmp/s;rxmcst/s;%ifutil
  4. tecmint;2;2014-09-03 07:53:29 UTC;eth0;1.50;0.00;0.13;0.00;0.00;0.00;0.00;0.00
  5. tecmint;2;2014-09-03 07:53:31 UTC;eth0;2.00;0.00;0.18;0.00;0.00;0.00;0.00;0.00
  6. tecmint;2;2014-09-03 07:53:33 UTC;eth0;1.00;0.00;0.09;0.00;0.00;0.00;0.00;0.00
  7. tecmint;2;2014-09-03 07:53:35 UTC;eth0;2.00;0.00;0.18;0.00;0.00;0.00;0.00;0.00
  8. tecmint;14778;2014-09-03 11:59:54 UTC;eth0;1.78;1.17;1.10;0.18;0.00;0.00;0.00;0.00
  9. tecmint;2;2014-09-03 11:59:56 UTC;eth0;3.50;3.00;0.60;0.77;0.00;0.00;0.00;0.00
  10. tecmint;2;2014-09-03 11:59:58 UTC;eth0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00
  11. tecmint;2;2014-09-03 12:00:00 UTC;eth0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00
  12. tecmint;2;2014-09-03 12:00:02 UTC;eth0;0.50;0.50;0.48;0.03;0.00;0.00;0.00;0.00
  13. tecmint;2;2014-09-03 12:00:04 UTC;eth0;2.50;3.50;0.21;2.05;0.00;0.00;0.00;0.00
  14. tecmint;2;2014-09-03 12:00:06 UTC;eth0;1.49;1.00;0.62;0.06;0.00;0.00;0.00;0.00
  15. tecmint;2;2014-09-03 12:00:08 UTC;eth0;0.50;0.00;0.03;0.00;0.00;0.00;0.00;0.00
  16. tecmint;2;2014-09-03 12:00:10 UTC;eth0;0.50;0.50;0.03;0.04;0.00;0.00;0.00;0.00
  17. tecmint;2;2014-09-03 12:00:12 UTC;eth0;1.00;0.50;0.12;0.04;0.00;0.00;0.00;0.00

你也可以将这些数据存储在一个csv文档中,然后绘制成图表展示方式,如下所示

网络信息图表

现在,你可以参考man手册来后去每个参数的更多详细信息,并且请在文章下留下你宝贵的评论。

原文发布时间:2014-10-17

本文来自云栖合作伙伴“linux中国”

时间: 2024-09-13 20:46:59

Sysstat性能监控工具包中20个实用命令的相关文章

Linux Sysstat性能监控工具安装及常见8个命令使用例子

Sysstat,一种常用在Linux系统服务器中的软件工具包,可以用来监控服务器的性能.比如可以监控CPU.硬盘.网络等数据,我们可以用来进行分析服务器的性能和资源的使用效率.老左将在这篇文章中学习.整理Sysstat监控工具包的安装和常用的使用命令.   老左之前并没有使用过这些工具(要学习和基础的知识太多),在这篇文章中就简单的记录Sysstat安装过程和常用的几个命令,同类的软件和工具还是有很多的,具体要根据我们的熟悉和喜欢,以及是否真的需要然后再去选择.   第一.Sysstat工具的安

linux中常用SSH实用命令

常用SSH实用命令 1.统计当前目录文件数 find . -type f -print |wc -l 2.打包压缩 压缩tar -cjvf xxxx.tar.bz2 xxxx(文件夹) 解压tar xvjf xxxx.tar.bz2 3.文件夹 cd[目录名]转换路径 cd .. 返回上级目录 ls显示当前目录下所有文件 -pwd 显示当前路径 -mkdir xxxx 新建文件夹 4.查看文件夹大小 du -s xxxx 按KB du -sh xxxx 按M 5.删除文件 -rm [file]删

使用vmstat和iostat命令进行Linux性能监控

使用vmstat和iostat命令进行Linux性能监控 这是我们正在进行的Linux命令和性能监控系列的一部分.vmstat和iostat两个命令都适用于所有主要的类unix系统(Linux/unix/FreeBSD/Solaris). 如果vmstat和iostat命令在你的系统中不可用,请安装sysstat软件包.vmstat,sar和iostat命令都包含在sysstat(系统监控工具)软件包中.iostat命令生成CPU和所有设备的统计信息.你可以从这个连接中下载源代码包编译安装sys

对江苏省监控网3.20工程中卡口式电子警察的几点思考

2009年底,江苏省确定建设全省道路监控网"3.20"工程,即各地要按照机动车在城区行驶3公里.在公路行驶20公里至少被抓拍一次的总体要求,合理布局.全面覆盖,有机衔接.联成网络,做到跟踪接力.连续拍录,实现全方位.全时空控制,确保不留空白和盲区.下面我就"3.20"工程中卡口式电子警察谈谈几点想法. 一.建议选择工业级高清摄像机方案.电子警察系统图像采集抓拍部分是整个系统工作的基础,选用高清摄像机,才能保证图像质量,从而保证图像有效率和车牌识别率.目前,关于电子警

linux中SNMP+监控宝实现简单的服务器性能监控

监控宝推荐使用NET-SNMP,所以本文也以此为例.   首先,我们安装NET-SNMP.    代码如下 复制代码 yum install net-snmp net-snmp-devel net-snmp-utils   接下来我们开始配置NET-SNMP.   在配置之前,我们需要先确认已关闭SELinux(CentOS系统注意),然后,先暂时停止NET-SNMP    代码如下 复制代码 service snmpd stop   然后,添加一个只读账户(如vpsaa.com),创建一个密码

对Linux进行详细的性能监控的方法

  这是我们正在进行的Linux命令和性能监控系列的一部分.vmstat和iostat两个命令都适用于所有主要的类unix系统(Linux/unix/FreeBSD/Solaris). 如果vmstat和iostat命令在你的系统中不可用,请安装sysstat软件包.vmstat,sar和iostat命令都包含在sysstat(系统监控工具)软件包中.iostat命令生成CPU和所有设备的统计信息.你可以从这个连接中下载源代码包编译安装sysstat,但是我们建议通过YUM命令进行安装. 在Li

第四章——SQLServer2008-2012资源及性能监控(3)

原文:第四章--SQLServer2008-2012资源及性能监控(3) 本文为本系列最后一章,监控内存使用.监控服务器的内存是非常重要的事情,有很多情况会引起内存消耗.所以要经常性地做检查. 本文将使用可靠性和性能监视器来获取内存相关的统计.   准备工作: 在开始之前,先来了解一下将要用到的计数器: Ø  Memory: Available Mbytes:提供系统上可用内存的数量. Ø  Memory: Pages/sec:显示有多少页被用于读或写入硬盘,这些基于硬页面错误. Ø  Pagi

SAN存储架构在世博场馆监控系统中的应用

 据了解统计,现在的世博场馆的监控系统前端设备采用的摄像机数量超过300路高清,视频录像文件的存储保存方式采取硬盘录像机外挂IPSAN的方式,存储时间大约要在两周以上,总存储容量需求在100TB左右. 这套视频监控存储设备通过IP网络向所有的视频编码设备,包括视频服务器(NVS).网络硬盘录像机提供视频监控录像存储空间.其它服务器或监控设备可以直接从磁盘阵列中读取视频监控录像,或者通过视频编码设备读取视频监控录像. 方案优点: 充分利用网络优势,灵活部署存储设备,授权用户限制保护访问存储的视频数

Collectl: Linux 性能监控的全能冠军

Collectl: Linux 性能监控的全能冠军 对于一个 Linux 系统管理员来说确保自己管理的系统处于一个良好的状态是其首要责任.Linux 系统管理员可以找到有很多工具来帮助自己监控和显示系统中的进程,例如 top 和 htop ,但是这些工具都不能与 collectl 相媲美. Collectl: Linux Performance Monitoring collectl是一款非常优秀并且有着丰富的命令行功能的实用程序,你可以用它来采集描述当前系统状态的性能数据.不同于大多数其它的系