เริ่มจาก ทำการสร้าง shell script สำหรับ Generate nmon ครับ อาจจะให้ รันทุก 1 ชม/1 นาที หรือแล้วแต่ความถี่ที่ต้องการเก็บครับ
/usr/bin/nmon -s 300 -c 288 -D -F /admin/nmon/output/$(hostname)_$(date “+%m%d%y”).nmon
จากนั้นมันก็จะทำการ Keep ข้อมุลเก็บเรื่อยๆครับ ตามระยะเวลาที่เรากำหนด เราก็จะเห็นไฟล์นามสกุล .nmon ออกมาเราก็จะนำเจ้าไฟล์นี้ไป Generate graph ด้วยโปรแกรม nmon_analyser_v42 ซึ่งจะมีลักษณะเป็น Excel program ครับ
การใช้งานก็ง่ายแสนง่ายครับ เปิด Excel file เข้าไป กดปุ่ม Analyze nmon data แล้วก็เลือกไฟล์ nmon ของเราครับ มันก็จะ Generate Excel Graph ออกมาให้เราแล้วครับ มาลองเปิดดูกันครับ
ของผมในภาพแรกนี้เราจะเห็น CPU usage และ I/O ตามช่วงเวลาของผมทุกๆ 10 นาที ( ตาม crontab ที่ set ) ดูได้เป็น % จากภาพที่เราเห็นคือการทำงานที่ปกติครับ ปกติยังไง ปกติแล้ว CPU ของคอมพิวเตอร์จะทำงานแบบขึ้นๆลงๆแบบนี้แหละครับ มีงานเยอะบ้างน้อยบ้าง แบบนี้เราเรียกปกติครับ แล้วถ้าไม่ปกติละ ดูภาพนี้ครับ
เห็น CPU usage ไหมครับ ฮี่ๆ นี่แหละครับ มันไม่ปกติงานบ้าอะไร 100% ตลอดเวลา แบบนี้ Server น่าเป็นห่วงแล้วนะครับ แถม 100% ทั้งวันอีกต่างหาก ถ้าเป็นกรณีนี้ผมจะรีบ gen awr report ครับ มันต้องมีอะไรแปลกๆโผล่ขึ้นมาบน report แน่นอน
เพิ่มเติมอีกเล็กน้อยครับ หากเราทราบปัญหาแล้วและแก้ไขไปแล้ว Cpu เริ่มมีรอยหยักให้พบเห็นบ้าง แต่ยังสูงอยู่ดี ทีนี้ละครับ เราก็ยัสามารถนำช่วงเวลาที่เราเห็นจาก nmon ไป manual check by process ได้ครับว่า process ไหน user ไหน query ไหนใช้งาน cpu สูงในช่วงเวลานั้นๆได้ครับ ( บทความที่แล้วผมได้กล่าวไว้แล้วครับ )