ค้นหาเว็บไซต์

20 คำสั่งที่เป็นประโยชน์ของยูทิลิตี้ 'Sysstat' (mpstat, pidstat, iostat และ sar) สำหรับการตรวจสอบประสิทธิภาพของ Linux


ในบทความล่าสุดของเรา เราได้เรียนรู้เกี่ยวกับการติดตั้งและอัปเกรดแพ็คเกจ sysstat และความเข้าใจโดยย่อเกี่ยวกับยูทิลิตี้ที่มาพร้อมกับแพ็คเกจ

  1. Sysstat – เครื่องมือตรวจสอบประสิทธิภาพและการใช้งานสำหรับ Linux

วันนี้ เราจะมาดูตัวอย่างการใช้งานจริงที่น่าสนใจของยูทิลิตี้ mpstat, pidstat, iostat และ sar ซึ่งสามารถช่วยให้เราระบุปัญหาได้ เรามีตัวเลือกที่แตกต่างกันในการใช้ยูทิลิตี้เหล่านี้ ฉันหมายความว่าคุณสามารถสั่งการด้วยตนเองพร้อมตัวเลือกที่แตกต่างกันสำหรับงานประเภทต่างๆ หรือคุณสามารถสร้างสคริปต์ที่กำหนดเองตามความต้องการของคุณ คุณรู้ว่า Sysadmins มักจะขี้เกียจอยู่เสมอ และพยายามหาวิธีง่ายๆ ในการทำสิ่งต่าง ๆ โดยใช้ความพยายามน้อยที่สุดอยู่เสมอ

mpstat – สถิติโปรเซสเซอร์

1. การใช้คำสั่ง mpstat โดยไม่มีตัวเลือกใดๆ จะแสดงกิจกรรมเฉลี่ยทั่วโลกโดย CPU ทั้งหมด

tecmint@tecmint ~ $ mpstat

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

12:23:57  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
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. การใช้ mpstat พร้อมตัวเลือก '-P' (ระบุหมายเลขโปรเซสเซอร์) และ 'ทั้งหมด' จะแสดงสถิติเกี่ยวกับ CPU ทั้งหมดทีละตัวโดยเริ่มจาก 0 0 จะเป็น คนแรก.

tecmint@tecmint ~ $ mpstat -P ALL

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

12:29:26  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
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
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
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 วินาทีโดยมีค่าเฉลี่ยของซีพียูแต่ละตัว ให้ใช้คำสั่งต่อไปนี้

tecmint@tecmint ~ $ mpstat -P ALL 2 5

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

12:36:21  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
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
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
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

12:36:23  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
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:36:25  IST    0   31.63    0.00    1.53    0.00    0.00    0.00    0.00    0.00    0.00   66.84
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

12:36:25  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
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
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
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

4. ตัวเลือก 'ฉัน' จะพิมพ์จำนวนสถิติการขัดจังหวะทั้งหมดเกี่ยวกับโปรเซสเซอร์แต่ละตัว

tecmint@tecmint ~ $ mpstat -I

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

12:39:56  IST  CPU    intr/s
12:39:56  IST  all    651.04

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
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
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

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
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
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. รับข้อมูลข้างต้นทั้งหมดในคำสั่งเดียว เช่น เทียบเท่ากับ “-u -I ALL -p ALL

tecmint@tecmint ~ $ mpstat -A

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

12:41:39  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
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
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
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

12:41:39  IST  CPU    intr/s
12:41:39  IST  all    651.73
12:41:39  IST    0    173.16
12:41:39  IST    1    225.89

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
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
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

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
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
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 ยังสามารถตรวจสอบสถานะเกี่ยวกับกระบวนการลูกและเธรดได้

ไวยากรณ์
pidstat <OPTIONS> [INTERVAL] [COUNT]

6. การใช้คำสั่ง pidstat โดยไม่มีอาร์กิวเมนต์ จะแสดงงานที่กำลังดำเนินอยู่ทั้งหมด

tecmint@tecmint ~ $ pidstat

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

12:47:24  IST   UID       PID    %usr %system  %guest    %CPU   CPU  Command
12:47:24  IST     0         1    0.01    0.12    0.00    0.13     1  init
12:47:24  IST     0         3    0.00    0.01    0.00    0.01     0  ksoftirqd/0
12:47:24  IST     0         9    0.00    0.04    0.00    0.04     0  rcu_sched
12:47:24  IST     0        10    0.00    0.00    0.00    0.00     0  watchdog/0
12:47:24  IST     0        11    0.00    0.00    0.00    0.00     1  watchdog/1
12:47:24  IST     0        12    0.00    0.00    0.00    0.00     1  migration/1
12:47:24  IST     0        13    0.00    0.01    0.00    0.01     1  ksoftirqd/1
12:47:24  IST     0        23    0.00    0.00    0.00    0.00     0  kworker/u9:0
12:47:24  IST     0        29    0.00    0.61    0.00    0.61     0  kworker/0:1
12:47:24  IST     0        30    0.00    0.06    0.00    0.06     1  kworker/1:1
12:47:24  IST     0       224    0.00    0.01    0.00    0.01     1  jbd2/sda1-8
12:47:24  IST     0       360    0.00    0.00    0.00    0.00     1  upstart-udev-br
12:47:24  IST     0       365    0.01    0.00    0.00    0.01     0  systemd-udevd
12:47:24  IST     0       476    0.00    0.00    0.00    0.00     0  kworker/u9:1

7. หากต้องการพิมพ์งานที่ใช้งานอยู่และไม่ได้ใช้งานทั้งหมด ให้ใช้ตัวเลือก '-p' (กระบวนการ)

tecmint@tecmint ~ $ pidstat -p ALL

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

12:51:55  IST   UID       PID    %usr %system  %guest    %CPU   CPU  Command
12:51:55  IST     0         1    0.01    0.11    0.00    0.12     1  init
12:51:55  IST     0         2    0.00    0.00    0.00    0.00     0  kthreadd
12:51:55  IST     0         3    0.00    0.01    0.00    0.01     0  ksoftirqd/0
12:51:55  IST     0         5    0.00    0.00    0.00    0.00     0  kworker/0:0H
12:51:55  IST     0         7    0.00    0.00    0.00    0.00     0  migration/0
12:51:55  IST     0         8    0.00    0.00    0.00    0.00     0  rcu_bh
12:51:55  IST     0         9    0.00    0.04    0.00    0.04     1  rcu_sched
12:51:55  IST     0        10    0.00    0.00    0.00    0.00     0  watchdog/0
12:51:55  IST     0        11    0.00    0.00    0.00    0.00     1  watchdog/1
12:51:55  IST     0        12    0.00    0.00    0.00    0.00     1  migration/1
12:51:55  IST     0        13    0.00    0.01    0.00    0.01     1  ksoftirqd/1
12:51:55  IST     0        15    0.00    0.00    0.00    0.00     1  kworker/1:0H
12:51:55  IST     0        16    0.00    0.00    0.00    0.00     1  khelper
12:51:55  IST     0        17    0.00    0.00    0.00    0.00     0  kdevtmpfs
12:51:55  IST     0        18    0.00    0.00    0.00    0.00     0  netns
12:51:55  IST     0        19    0.00    0.00    0.00    0.00     0  writeback
12:51:55  IST     0        20    0.00    0.00    0.00    0.00     1  kintegrityd

8. การใช้คำสั่ง pidstat พร้อมด้วยตัวเลือก '-d 2' เราจะได้รับสถิติ I/O และ 2 เป็นช่วงเวลาเป็นวินาทีในการรีเฟรช สถิติ. ตัวเลือกนี้มีประโยชน์ในสถานการณ์ที่ระบบของคุณมี I/O จำนวนมาก และคุณต้องการรับเบาะแสเกี่ยวกับกระบวนการที่ใช้ทรัพยากรสูง

tecmint@tecmint ~ $ pidstat -d 2

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

03:26:53  EDT       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command

03:26:55  EDT       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
03:26:57  EDT       574      0.00    148.00      2.00  miniserv.pl

03:27:01  EDT       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
03:27:03  EDT         1      0.00      8.00      2.00  init
03:27:03  EDT       450      0.00      2.00      0.00  rsyslogd
03:27:03  EDT       534    138.00     10.00      4.00  crond
03:27:03  EDT     25100      0.00      6.00      0.00  sendmail
03:27:03  EDT     30829      0.00      6.00      0.00  java

9. หากต้องการทราบสถิติ cpu พร้อมกับเธรดทั้งหมดเกี่ยวกับรหัสกระบวนการ 4164 ในช่วงเวลา 2 วินาทีเป็นเวลา 3 > ครั้ง ใช้คำสั่งต่อไปนี้พร้อมตัวเลือก '-t' (แสดงสถิติของกระบวนการที่เลือก)

tecmint@tecmint ~ $ pidstat -t -p 4164 2 3

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

01:09:06  IST   UID      TGID       TID    %usr %system  %guest    %CPU   CPU  Command
01:09:08  IST  1000      4164         -   22.00    1.00    0.00   23.00     1  firefox
01:09:08  IST  1000         -      4164   20.00    0.50    0.00   20.50     1  |__firefox
01:09:08  IST  1000         -      4171    0.00    0.00    0.00    0.00     0  |__Gecko_IOThread
01:09:08  IST  1000         -      4172    0.00    0.00    0.00    0.00     0  |__Socket
01:09:08  IST  1000         -      4173    0.00    0.00    0.00    0.00     0  |__JS
01:09:08  IST  1000         -      4174    0.00    0.00    0.00    0.00     0  |__JS
01:09:08  IST  1000         -      4175    0.00    0.00    0.00    0.00     0  |__Hang
01:09:08  IST  1000         -      4176    0.00    0.00    0.00    0.00     1  |__gdbus
01:09:08  IST  1000         -      4177    0.00    0.00    0.00    0.00     1  |__gmain

10. ใช้ตัวเลือก '-rh' เพื่อทราบเกี่ยวกับการใช้หน่วยความจำของกระบวนการซึ่งมักจะเปลี่ยนแปลงการใช้งานในช่วงเวลา 2 วินาที

tecmint@tecmint ~ $ pidstat -rh 2 3

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

     Time   UID       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
 1409816695  1000      3958   3378.22      0.00  707420 215972   5.32  cinnamon
 1409816695  1000      4164    406.93      0.00 1252024 461404  11.36  firefox
 1409816695  1000      6676    168.81      0.00    4436    984   0.02  pidstat

     Time   UID       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
 1409816697     0      1601    644.00      0.00  506728 316788   7.80  Xorg
 1409816697  1000      3958   3412.00      0.00  707420 215972   5.32  cinnamon
 1409816697  1000      4164   2667.00      0.00 1259576 471724  11.62  firefox
 1409816697  1000      6676    172.50      0.00    4436   1020   0.03  pidstat

     Time   UID       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
 1409816699     0      1601    644.00      0.00  506728 316788   7.80  Xorg
 1409816699  1000      3958   4094.00      0.00  710148 218700   5.39  cinnamon
 1409816699  1000      4164    599.00      0.00 1261944 476664  11.74  firefox
 1409816699  1000      6676    168.00      0.00    4436   1020   0.03  pidstat

11. หากต้องการพิมพ์กระบวนการทั้งหมดที่มีสตริง “VB“ ให้ใช้ตัวเลือก '-t' เพื่อดูเธรดด้วย

tecmint@tecmint ~ $ pidstat -G VB

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

01:09:06  IST   UID      PID      %usr 	%system  %guest    %CPU   CPU  	Command
01:09:08  IST  1000    1492     22.00     1.00    	 0.00   	 23.00     1  		VBoxService
01:09:08  IST  1000    1902     4164      20.00    	 0.50    	 0.00   	20.50     	VBoxClient
01:09:08  IST  1000    1922     4171      0.00    	 0.00    	 0.00    	0.00     	VBoxClient
tecmint@tecmint ~ $ pidstat  -t -G VB
Linux 2.6.32-431.el6.i686 (tecmint) 09/04/2014 _i686_	(2 CPU)

03:19:52 PM   UID      TGID       TID    %usr %system  %guest    %CPU   CPU  Command
03:19:52 PM     0      1479         -    0.01    0.12    0.00    0.13     1  VBoxService
03:19:52 PM     0         -      1482    0.00    0.00    0.00    0.00     0  |__timesync
03:19:52 PM     0         -      1483    0.01    0.06    0.00    0.06     0  |__vminfo
03:19:52 PM     0         -      1485    0.00    0.01    0.00    0.01     1  |__memballoon
03:19:52 PM     0         -      1486    0.00    0.01    0.00    0.01     1  |__vmstats
03:19:52 PM     0         -      1487    0.00    0.05    0.00    0.05     0  |__automount
03:19:52 PM     0      1913         -    0.00    0.00    0.00    0.00     0  VBoxClient
03:19:52 PM     0         -      1913    0.00    0.00    0.00    0.00     0  |__VBoxClient
03:19:52 PM     0         -      1942    0.00    0.00    0.00    0.00     0  |__SHCLIP
03:19:52 PM     0      1933         -    0.04    0.89    0.00    0.93     0  VBoxClient
03:19:52 PM     0         -      1936    0.04    0.89    0.00    0.93     1  |__X11-NOTIFY

12. หากต้องการรับข้อมูลลำดับความสำคัญแบบเรียลไทม์และข้อมูลกำหนดการ ให้ใช้ตัวเลือก '-R'

tecmint@tecmint ~ $ pidstat -R

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

01:09:06  IST   UID      PID	 prio      policy 	Command
01:09:08  IST  1000    3     	 99	       FIFO		migration/0
01:09:08  IST  1000    5     	 99          FIFO	migration/0
01:09:08  IST  1000    6    	 99          FIFO	watchdog/0

ในที่นี้ ฉันจะไม่กล่าวถึงยูทิลิตี้ Iostat เนื่องจากเราได้กล่าวถึงเรื่องนี้แล้ว โปรดดูที่ “การตรวจสอบประสิทธิภาพ Linux ด้วย Vmstat และ Iostat ” เพื่อดูรายละเอียดทั้งหมดเกี่ยวกับ iostat

sar – โปรแกรมรายงานกิจกรรมของระบบ

การใช้คำสั่ง “sar” เราจะได้รับรายงานเกี่ยวกับประสิทธิภาพของระบบทั้งหมด วิธีนี้สามารถช่วยให้เราค้นหาคอขวดของระบบและให้ความช่วยเหลือในการค้นหาวิธีแก้ไขปัญหาประสิทธิภาพที่น่ารำคาญเหล่านี้

เคอร์เนล Linux จะรักษาตัวนับบางส่วนไว้ภายใน ซึ่งจะติดตามคำขอทั้งหมด เวลาที่ดำเนินการเสร็จสิ้น และจำนวนบล็อก I/O เป็นต้น จากข้อมูลทั้งหมดนี้ sar จะคำนวณอัตราและอัตราส่วนของคำขอเหล่านี้เพื่อค้นหาเกี่ยวกับพื้นที่คอขวด

สิ่งสำคัญเกี่ยวกับ sar ก็คือ มันจะรายงานกิจกรรมทั้งหมดในช่วงเวลาหนึ่งๆ ดังนั้นตรวจสอบให้แน่ใจว่า sar รวบรวมข้อมูลในเวลาที่เหมาะสม (ไม่ใช่ในช่วงอาหารกลางวันหรือวันหยุดสุดสัปดาห์ :)

13. ต่อไปนี้เป็นคำสั่งพื้นฐานในการเรียกใช้ sar มันจะสร้างไฟล์หนึ่งไฟล์ชื่อ “sarfile” ในไดเร็กทอรีปัจจุบันของคุณ ตัวเลือก '-u' มีไว้สำหรับรายละเอียด CPU และจะรวบรวมรายงาน 5 ในช่วงเวลา 2 วินาที

tecmint@tecmint ~ $ sar -u -o sarfile 2 5

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

01:42:28  IST     CPU     %user     %nice   %system   %iowait    %steal     %idle
01:42:30  IST     all     36.52      0.00      3.02      0.00      0.00     60.45
01:42:32  IST     all     43.32      0.00      5.04      0.00      0.00     51.64
01:42:34  IST     all     56.46      0.00      4.05      0.00      0.00     39.49
01:42:36  IST     all     44.44      0.00      3.79      0.00      0.00     51.77
01:42:38  IST     all     50.75      0.00      3.75      0.00      0.00     45.50
Average:        all     46.30      0.00      3.93      0.00      0.00     49.77

14. ในตัวอย่างข้างต้น เราได้เรียกใช้ sar แบบโต้ตอบ นอกจากนี้เรายังมีตัวเลือกในการเรียกใช้แบบไม่โต้ตอบผ่าน cron โดยใช้สคริปต์ /usr/local/lib/sa1 และ /usr/local/lib/sa2 (หากคุณมี ใช้ /usr/local เป็นคำนำหน้าระหว่างเวลาติดตั้ง)

  1. /usr/local/lib/sa1 คือเชลล์สคริปต์ที่เราสามารถใช้เพื่อกำหนดเวลา cron ซึ่งจะสร้างไฟล์บันทึกไบนารีรายวัน
  2. /usr/local/lib/sa2 เป็นเชลล์สคริปต์ที่จะเปลี่ยนไฟล์บันทึกไบนารีเป็นรูปแบบที่มนุษย์สามารถอ่านได้

ใช้รายการ Cron ต่อไปนี้เพื่อทำให้สิ่งนี้เป็นแบบโต้ตอบ:

Run sa1 shell script every 10 minutes for collecting data
*/2 * * * * /usr/local/lib/sa/sa1 2 10

Generate a daily report in human readable format at 23:53
53 23 * * * /usr/local/lib/sa/sa2 -A

ที่สคริปต์ sa1 ส่วนหลังจะเรียกยูทิลิตี sadc (ตัวรวบรวมข้อมูลกิจกรรมของระบบ) เพื่อดึงข้อมูลในช่วงเวลาหนึ่งๆ sa2 จะเรียก sar เพื่อเปลี่ยนไฟล์บันทึกไบนารีเป็นรูปแบบที่มนุษย์สามารถอ่านได้

15. ตรวจสอบความยาวของคิวการรัน จำนวนกระบวนการทั้งหมด และค่าเฉลี่ยการโหลดโดยใช้ตัวเลือก '-q'

tecmint@tecmint ~ $ sar -q 2 5

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

02:00:44  IST   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
02:00:46  IST         1       431      1.67      1.22      0.97         0
02:00:48  IST         4       431      1.70      1.23      0.97         0
02:00:50  IST         2       431      1.70      1.23      0.97         0
02:00:52  IST         2       431      1.70      1.23      0.97         0
02:00:54  IST         0       431      1.64      1.23      0.97         0
Average:            2       431      1.68      1.23      0.97         0

16. ตรวจสอบสถิติเกี่ยวกับระบบไฟล์ที่เมาท์โดยใช้ '-F'

tecmint@tecmint ~ $ sar -F 2 4

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

02:02:31  IST  MBfsfree  MBfsused   %fsused  %ufsused     Ifree     Iused    %Iused FILESYSTEM
02:02:33  IST      1001       449     30.95    1213790475088.85  18919505    364463      1.89 /dev/sda1

02:02:33  IST  MBfsfree  MBfsused   %fsused  %ufsused     Ifree     Iused    %Iused FILESYSTEM
02:02:35  IST      1001       449     30.95    1213790475088.85  18919505    364463      1.89 /dev/sda1

02:02:35  IST  MBfsfree  MBfsused   %fsused  %ufsused     Ifree     Iused    %Iused FILESYSTEM
02:02:37  IST      1001       449     30.95    1213790475088.85  18919505    364463      1.89 /dev/sda1

02:02:37  IST  MBfsfree  MBfsused   %fsused  %ufsused     Ifree     Iused    %Iused FILESYSTEM
02:02:39  IST      1001       449     30.95    1213790475088.86  18919505    364463      1.89 /dev/sda1

Summary      MBfsfree  MBfsused   %fsused  %ufsused     Ifree     Iused    %Iused FILESYSTEM
Summary          1001       449     30.95    1213790475088.86  18919505    364463      1.89 /dev/sda1

17. ดูสถิติเครือข่ายโดยใช้ '-n DEV'

tecmint@tecmint ~ $ sar -n DEV 1 3 | egrep -v lo

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

02:11:59  IST     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
02:12:00  IST     wlan0      8.00     10.00      1.23      0.92      0.00      0.00      0.00
02:12:00  IST    vmnet8      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:12:00  IST      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:12:00  IST    vmnet1      0.00      0.00      0.00      0.00      0.00      0.00      0.00

18. ดูสถิติอุปกรณ์บล็อก เช่น iostat โดยใช้ '-d'

tecmint@tecmint ~ $ sar -d 1 3

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

02:13:17  IST       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
02:13:18  IST    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

02:13:18  IST       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
02:13:19  IST    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

02:13:19  IST       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
02:13:20  IST    dev8-0      7.00     32.00     80.00     16.00      0.11     15.43     15.43     10.80

19. หากต้องการพิมพ์สถิติหน่วยความจำ ให้ใช้ตัวเลือก '-r'

tecmint@tecmint ~ $ sar -r 1 3

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

02:14:29  IST kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
02:14:30  IST   1465660   2594840     63.90    133052   1549644   3710800     45.35   1133148   1359792       392
02:14:31  IST   1472724   2587776     63.73    133060   1549792   3715504     45.40   1125816   1360000       836
02:14:32  IST   1469112   2591388     63.82    133060   1550036   3705288     45.28   1130252   1360168       804
Average:      1469165   2591335     63.82    133057   1549824   3710531     45.34   1129739   1359987       677

20. การใช้ 'safd -d' ทำให้เราสามารถดึงข้อมูลในรูปแบบที่สามารถประมวลผลได้โดยใช้ฐานข้อมูล

tecmint@tecmint ~ $ safd -d /var/log/sa/sa20140903 -- -n DEV | grep -v lo

 # hostname;interval;timestamp;IFACE;rxpck/s;txpck/s;rxkB/s;txkB/s;rxcmp/s;txcmp/s;rxmcst/s;%ifutil
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
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
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
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
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
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
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
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
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
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
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
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
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
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 page เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับแต่ละตัวเลือกได้ และอย่าลืมบอกเกี่ยวกับบทความพร้อมความคิดเห็นอันมีค่าของคุณ