การบ้านครั้งที่ 2 สำหรับวิชา UNIX คือให้ฝึกใช้คำสั่ง DTrace เป็นโปรแกรมที่เอาไว้วัด Performance ต่างๆของเครื่อง
ว่าไปก็คล้ายๆโปรแกรม Intel VTune Performance Analyze และโปรแกรม Intel Thread Profiler
ตามการบ้านให้หาข้อมูลเหล่านี้
- provider/probe
- hooks
- scripting
- predicates
- DIF
- aggregation
- DTrace client
- DTrace ioctl
Enabling DTrace
สำหรับขั้นตอนการ Enable DTrace ใน FreeBSD ก็มีดังนี้
- Compile kernel ใหม่เพื่อใส่ option เพื่อ support DTrace กันก่อน
- สมมติว่าเครื่องเป็น CPU แบบ i386 ให้เข้าไปที่ /usr/src/sys/i386/conf/
ถ้าเข้าไปแล้วพบว่าไม่ีมีี directory ดังกล่าว หรือว่าไม่มี source ของ kernel ให้ทำตามนี้
http://www.freebsd.org/doc/en/books/handbook/kernelconfig-building.html - แก้ไฟล์ GENERIC (หรือ copy ออกมาเป็นอีกไฟล์ก็ได้) โดยทำตามนี้
http://www.freebsd.org/doc/en/books/handbook/dtrace-enable.html - ถ้า copy ไฟล์ GENERIC ออกมาแก้ หรือแก้ไฟล์ config อื่นๆ
ตอน compile kernel ต้องสั่ง
make WITH_CTF=1 kernel KERNCONF=#FILENAME - Compile เสร็จแล้วก็ restart
- ปัญหาที่พบ
- HDD ไม่พอ ควรเหลือพื้นที่เกิน 3GB ขึ้นไป ไม่แน่ใจว่าใน /usr หรือใน /boot
- ตอน copy source ไฟล์จาก /cdrom เนื่องจากแผ่นที่ใช้เป็น รุ่น 8.0 RC2 (รึเปล่า) ทำให้มันไม่ได้เก็บ src ไว้ที่ /cdrom แต่ต้อง browse เข้าไปอีกใน folder ชื่อ 8.0-RC2 ก่อน จึงได้คำสั่งเป็น
cat /cdrom/8.0-RC2/src/ssys.[a-d]* | tar -xzvf –
cat /cdrom/8.0-RC2/src/sbase.[a-d]* | tar -xzvf –
- ข้อควรระวัง
- Backup kernel เก่าไว้ก่อน โดย rename /boot/kernel.old เป็นชื่ออื่นเช่น /boot/kernel.good เป็นต้น
ถ้าเกิดมีปัญหาจะได้กลับมา Boot ด้วย kernel เก่าได้
- Backup kernel เก่าไว้ก่อน โดย rename /boot/kernel.old เป็นชื่ออื่นเช่น /boot/kernel.good เป็นต้น
- สมมติว่าเครื่องเป็น CPU แบบ i386 ให้เข้าไปที่ /usr/src/sys/i386/conf/
- ถ้า Kernel ใหม่ที่ สร้างมาไม่มีปัญหาใดๆ ก็ทำตามนี้ต่อเลย http://www.freebsd.org/doc/en/books/handbook/dtrace-using.html
DTrace D Language Resources
ในการบ้านต้องมีการแสดง feature ต่างๆของ DTrace ด้วย นั่นหมายถึงการเขียนโปรแกรมด้วยภาษา D Language ซึ่งสามารถศึกษาได้จากแหล่งเหล่านี้
- Learning DTrace Part 1
http://www.laurustech.com/Learning%20DTrace_Part1.pdf - Learning DTrace Part 2: Scripts and the D Language
http://www.laurustech.com/Learning%20DTrace_Part2.pdf - Learning DTrace Part 3: Advanced Scripting and Aggregations
http://www.laurustech.com/Learning DTrace_Part3.pdf - Learning DTrace Part 4: Solving Everyday Problems
http://www.laurustech.com/Learning%20DTrace_Part4.pdf - Learning DTrace Part 5: Completing the Picture
http://www.laurustech.com/Learning%20DTrace_Part5.pdf - DTrace Quick Reference Guide
http://developers.sun.com/solaris/articles/dtrace_quickref/dtrace_quickref.html
สำหรับตัวอย่างการสร้าง Partition ใหม่ใน FreeBSD และตัวอย่างของแต่ละหัวข้อในการบ้านจะยกไว้ Blog หน้าละกัน
6 replies on “Working with DTrace”
หล่อจริงๆ
หล่อโคตรๆอ่ะ
thanks mak mak krub 😀
thank mak mak (for present 55)
ทำ assignment3 เร็วๆนะ รออยู่
[…] PHPExcel ใช้งาน TCPDF 1. ดาวน์โหลดฟ้อนท์ไทยก่อนที่ http://komsitr.net/?p=18 […]