Guider เป็นเครื่องมือวิเคราะห์ประสิทธิภาพระบบทั่วไป (system-wide performance analysis tool) ที่ฟรีและโอเพนซอร์ส เขียนด้วยภาษา Python สำหรับระบบปฏิบัติการ Linux
Guider ออกแบบมาเพื่อวัดการใช้ทรัพยากรระบบและติดตามพฤติกรรมของระบب ทำให้การวิเคราะห์ปัญหาประสิทธิภาพและปรับแต่งประสิทธิภาพ (performance tuning) ง่ายขึ้นอย่างมาก
เครื่องมือนี้แสดงข้อมูลเชิงลึกมากมายเกี่ยวกับ CPU, หน่วยความจำ, การใช้งานดิสก์ต่อเธรด (thread), กระบวนการ (processes), และฟังก์ชันระบบ (user/kernel) ช่วยให้คุณสามารถหาต้นเหตุของปัญหาประสิทธิภาพที่ผิดปกติหรือปรับปรุงประสิทธิภาพระบบทั้งหมดได้อย่างมีประสิทธิภาพ
ข้อกำหนดของระบบ
- Linux kernel (รุ่น 3.0 ขึ้นไป)
- Python (รุ่น 2.7 ขึ้นไป)
- ขนาด Kernel buffer อย่างน้อย 40960
ในบทความนี้ เราจะแนะนำวิธีติดตั้ง Guider จากซอร์สโค้ด และใช้งานเพื่อวิเคราะห์และปรับปรุงประสิทธิภาพของระบบปฏิบัติการ Linux
วิธีสร้างและติดตั้ง Guider – เครื่องมือวิเคราะห์ประสิทธิภาพ Linux
เพื่อติดตั้ง Guider บน Linux ให้โคลนที่เก็บข้อมูล (repository) ของ Guider จาก GitHub ดังนี้:
$ git clone https://github.com/iipeace/guider.git $ cd guider $ guider.py [รันโดยไม่ต้องติดตั้ง]
คุณสามารถรัน guider.py ได้ทันทีโดยไม่ต้องติดตั้ง หรือใช้คำสั่งด้านล่างเพื่อสร้างและติดตั้ง:
$ make $ sudo make install
หากระบบของคุณใช้ PIP สามารถติดตั้งได้ด้วยคำสั่ง:
$ sudo pip install --pre guider
วิธีใช้ Guider วิเคราะห์ประสิทธิภาพระบบ Linux
โดยปกติ Guider จะตั้งค่าขนาดบัฟเฟอร์ (buffer size) ให้เอง แต่หากล้มเหลวและแสดงข้อผิดพลาด ให้ตรวจสอบขนาดบัฟเฟอร์ด้วยคำสั่ง:
$ sudo cat /sys/kernel/debug/tracing/buffer_size_kb
หากค่าต่ำกว่า 40960 ให้ตั้งค่าใหม่ดังนี้:
$ echo 40960 | sudo tee /sys/kernel/debug/tracing/buffer_size_kb

คุณสามารถเรียกใช้ Guider ในโหมด thread, function, top, file และ system ด้วยไวยากรณ์:
$ guider [ mode | file ] [options]
เช่นเดียวกับเครื่องมือวิเคราะห์ประสิทธิภาพ Linux แบบบรรทัดคำสั่งส่วนใหญ่ คุณจะต้องใช้หน้าจอกว้างเพื่อดูผลลัพธ์ของ Guider ได้ชัดเจน
วิเคราะห์การใช้งาน CPU ในโหมด Thread
คำสั่งต่อไปนี้จะเริ่มการติดตาม (tracing) แบบแม่นยำในโหมด thread (กด [Ctrl+c] เพื่อหยุดการติดตาม) เมื่อหยุดแล้ว จะบันทึกข้อมูลและเริ่มกระบวนการวิเคราะห์ แล้วแสดงรายงานวิเคราะห์
$ sudo guider record

รายงานวิเคราะห์ประกอบด้วยข้อมูลระบบทั่วไป, ข้อมูล OS, CPU, หน่วยความจำ, ดิสก์, และข้อมูลเธรดที่ท้ายของเพจเจอร์ (pager) ใช้ลูกศร Up และ Down เพื่อเลื่อนดูได้

ตรวจสอบระบบ Linux แบบเรียลไทม์ในโหมด Top
คำสั่งต่อไปนี้จะแสดงการใช้ทรัพยากรของกระบวนการ Linux แบบเรียลไทม์:
$ sudo guider.py top

คุณสามารถตั้งค่าช่วงเวลาแสดงผลด้วยสวิตช์ -i:
$ sudo guider top -i 2
เพื่อตรวจสอบข้อมูลการใช้ทรัพยากรทั้งหมด ใช้แฟล็ก -a:
$ sudo guider top -a
วิเคราะห์กระบวนการ Linux เดียวด้วย PID
หา Process ID ก่อนด้วยคำสั่ง pidof หรือ ps:
$ pidof apache2 OR $ ps -e | grep apache2
จากนั้นวิเคราะห์การใช้ทรัพยากรด้วยคำสั่ง (จะแสดง CPU cycle, instruction number, IPC, faults, cache miss, branch miss และอื่นๆ แบบเรียลไทม์) สวิตช์ -g ตั้งค่าตัวกรองเป็น PID:
$ sudo guider top -eP -g 1913

บันทึกเอาต์พุตของ Guider ลงไฟล์
คุณสามารถบันทึกข้อมูลการติดตามหรือเอาต์พุตใดๆ ลงไฟล์เพื่อวิเคราะห์ภายหลัง คำสั่งนี้บันทึกข้อมูล trace ไว้ในไฟล์ guider.dat (ค่าเริ่มต้น) ในไดเรกทอรีปัจจุบัน (ระบุตำแหน่งอื่นได้):
$ sudo guider -s .
เพื่อบันทึกเอาต์พุตอื่นๆ ลงไฟล์ guider.out (ค่าเริ่มต้น):
$ sudo guider top -o .
ตรวจสอบไฟล์เหล่านี้ด้วยคำสั่ง cat:
$ cat guider.dat $ cat guider.out
ตัวเลือกและตัวอย่างการใช้งาน還有อีกมากมาย ดูได้จากหน้าช่วยเหลือของ Guider:
$ guider -h
ที่เก็บ GitHub ของ Guider: https://github.com/iipeace/guider
สรุป
Guider เป็นเครื่องมือวิเคราะห์ประสิทธิภาพระบบทั่วไปที่ยอดเยี่ยมสำหรับอนาคต เหมาะสำหรับผู้เชี่ยวชาญ Linux ลองใช้ฟีเจอร์ต่างๆ และแบ่งปันความคิดเห็นผ่านฟอร์มด้านล่าง หากคุณรู้จักเครื่องมือคล้ายๆ นี้ กรุณาแจ้งให้เราทราบด้วย