Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

การตรวจสอบประสิทธิภาพ Master Linux ด้วยคำสั่ง Sysstat ที่จำเป็น 20 คำสั่ง (mpstat, pidstat, iostat, sar)

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

  1. Sysstat – เครื่องมือตรวจสอบประสิทธิภาพและการใช้งานสำหรับ Linux
การตรวจสอบประสิทธิภาพ Master Linux ด้วยคำสั่ง Sysstat ที่จำเป็น 20 คำสั่ง (mpstat, pidstat, iostat, sar) 20 คำสั่ง Sysstat สำหรับการตรวจสอบ Linux

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

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

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

tecmint@tecmint ~ $ mpstat
Linux 3.11.0-23-generic (tecmint.com) 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 (tecmint.com) 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 วินาทีโดยมีค่าเฉลี่ยของแต่ละ cpu ให้ใช้คำสั่งต่อไปนี้

tecmint@tecmint ~ $ mpstat -P ALL 2 5
Linux 3.11.0-23-generic (tecmint.com) 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 (tecmint.com) 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 (tecmint.com) 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 (tecmint.com) 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 (tecmint.com) 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 (tecmint.com) 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 (tecmint.com) 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 (tecmint.com) 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 (tecmint.com) 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 (tecmint.com) 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 – โปรแกรมรายงานกิจกรรมของระบบ

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

เคอร์เนล 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 (tecmint.com) 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 (tecmint.com) 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 (tecmint.com) 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 (tecmint.com) 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 (tecmint.com) 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 (tecmint.com) 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 จากนั้นจึงวาดแผนภูมิสำหรับการนำเสนอได้ดังต่อไปนี้

การตรวจสอบประสิทธิภาพ Master Linux ด้วยคำสั่ง Sysstat ที่จำเป็น 20 คำสั่ง (mpstat, pidstat, iostat, sar) กราฟเครือข่าย

เพียงเท่านี้ คุณสามารถอ้างอิง man page เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับแต่ละตัวเลือกได้ และอย่าลืมบอกเกี่ยวกับบทความพร้อมความคิดเห็นอันมีค่าของคุณ