รู้สึกว่า PC ช้า ไม่ตอบสนอง? อาจมาจากหลายปัจจัย -- โปรแกรมรันพร้อมกันเยอะ ฮาร์ดแวร์เก่าหรืออ่อน แมลแวร์ซ่อนอยู่ ฯลฯ -- ส่วนยากคือ ระบุว่าอะไรเกี่ยวกับคุณ
ข่าวดี: Windows มีเครื่องมือวินิจฉัยที่มีประโยชน์เยอะ หนึ่งในนั้นคือ Performance Monitor (ไม่ใช่ Reliability Monitor) ใช้ตัวนี้ ตัดเวลา troubleshooting ลงมาก
นี่คือ intro รวดเร็วแต่ครบ ถ้วย รวมถึง ทำไมควรใช้ และ เริ่มอย่างไร
วิธีเปิด Performance Monitor
Windows 10 มีไม่น้อยกว่า 5 ทาง เข้า Performance Monitor ผมใช้แค่วิธีแรก แต่ง่ายใช้ไหนก็ได้
- Via Windows Search: เปิด Start Menu ค้นหา performance monitor เปิด Performance Monitor (ควรมี label Desktop App)
- Via Administrative Tools: เปิด Control Panel ไป System and Security > Administrative Tools คลิกสองครั้ง Performance Monitor shortcut
- Via Run Prompt: กด Windows key + R เปิด Run Prompt (หนึ่งใน shortcuts Windows Key หลายตัว) พิมพ์ perfmon กด OK
- Via Command Prompt: กด Windows key + X เปิด Power User Menu (หนึ่งใน superpowers Windows) คลิก Command Prompt ใน command line พิมพ์ perfmon กด Enter
- Via Windows PowerShell: เปิด PowerShell ด้วยวิธีที่ชอบ พิมพ์ perfmon กด Enter วิธีนี้ดี ถ้าคุณเป็น PowerShell user แล้ว
Performance Monitor รันแล้ว อย่าตกใจ interface ไม่เพียงมิตตรา นี่คือ step-by-step ให้ดูว่า tool นี้ ทำอะไรได้บ้าง จะช่วยเข้าใจง่ายขึ้น
1. ติดตามข้อมูลหลากหลายประเภท
ค่าเริ่มต้น Performance Monitor เริ่มด้วย 1 การวัด: Processor Time แสดง % ของ CPU power สูงสุด ที่ใช้ในแต่ละ moment หรือพูดง่าย: ทำงานหนักแค่ไหนในช่วงเวลาไหน
แตคุณติดตามสถิติอื่นๆ อีกร้อยๆ ได้ Performance Monitor ให้ add และ remove "counters" บนบอร์ด (counter คือ คำอื่นของ "สิ่งที่ต้องการติดตาม") ความยืดหยุ่นนี้ ทำให้ tool นี้ มีประโยชน์มาก
แม้ใช้ Task Manager สำหรับ performance overview ได้ นี่เครื่องมือดีกว่า มาก ตอนพยายามวินิจฉัยปัญหาเฉพาะเจาะจง
รู้สึกยังไม่เข้าใจ? ไม่เป็นไร มาสำรวจ counters ต่างๆ ที่ add ได้ นี่ควรช่วยให้เข้าใจ counters และ ทำไมช่วยได้:
- Memory | % Committed Bytes in Use: ติดตาม % ของ RAM ที่ committed ("ใช้อยู่") ควรผันผวนตามเปิด/ปิดแอป แต่ถ้าเพิ่มขึ้นเรื่อยๆ อาจบ่งชี้ memory leak
- Network Interface | Bytes Total/sec: ติดตาม bytes ส่ง/รับ ผ่าน network interface เฉพาะ (Wi-Fi หรือ Ethernet) ถ้ามากกว่า 70% bandwidth ของ interface ควรพิจารณาอัปเกรด
- Paging File | % Usage: ติดตามว่า paging file ของระบบ ใช้ไปเท่าไหร่ ถ้าสูงต่อเนื่อง ควรเพิ่ม physical RAM หรือเพิ่มขนาด paging file อย่างน้อย
- Physical Disk | % Disk Time: ติดตามว่า เวลาฮาร์ดดิสก์ ใช้ไปเท่าไหร่ จัดการ read/write requests ถ้าสูงต่อเนื่อง ควรอัปเกรดเป็น SSD
- Physical Disk | % Disk Read Time: เหมือนข้างต้น แต่แค่ read requests
- Physical Disk | % Disk Write Time: เหมือนข้างต้น แต่แค่ write requests
- Processor | % Interrupt Time: ติดตามว่า CPU ใช้เวลาเท่าไหร่ จัดการ hardware interrupts ถ้าสูงกว่า 10-20% ต่อเนื่อง อาจบ่งชี้ปัญหาในฮาร์ดแวร์บางชิ้น
- Thread | % Processor Time: ติดตามว่า ความสามารถโปรเซสเซอร์ ใช้ไปเท่าไหร่ โดย individual process thread (แอปอาจมี multiple threads) ใช้ได้ก็ต่อเมื่อระบุ thread ที่ต้องการติดตาม
สังเกต: counters จัดหมวดหมู่สะดวกโดย Performance Monitor ทุก counter ข้างต้น มี prefix หมวดหมู่ หมวดหมู่เหล่านี้ ช่วยตอน setup Data Collector Sets (รายละเอียดด้านล่าง)
คุณยัง add category ของ counters ทั้งหมด เข้า monitor ได้ แทนที่เลือก counter ทีละตัว
Pro Tip: สร้าง performance counters ของตัวเองได้ ด้วยภาษา Visual Basic, C#, F#, และ PowerShell คำแนะนำเรื่องนี้ เกินขอบเขตบทความ
2. สร้าง Data Collector Sets
สมมติ อยากติดตาม memory usage ระบบทุกสัปดาห์ ไม่น่ารำคาญไหม เปิด Performance Monitor add counters ที่ต้องการทุกครั้ง?
ถ้าอยากติดตาม memory usage, data drive usage, network usage, และ Windows Search Indexer performance ไม่น่ารำคาญมากกว่า สลับ counters ทีละตัวด้วยมือ?
นี่คือที่ Data Collector Sets เข้ามาเล่น
Data Collector Set คือ กลุ่ม performance counters ต่างๆ ที่ save ไว้ เพื่อ quick access ตอนอยากติดตามด้านเฉพาะของระบบ ยังใช้เป็น templates สร้าง Data Collector Sets ใหม่ได้
Windows 10 มาพร้อม 2 predefined sets หาได้ใน sidebar: Data Collector Sets > System
- System Diagnostics: Set counters รายละเอียด track และ log ข้อมูลระบบลึกทุกอย่าง รัน 60 วินาที แล้วปิดอัตโนมัติ ให้รู้เช่น ฮาร์ดแวร์บางอย่าง อาจตายเร็ว
- System Performance: Set counters รายละเอียด track ข้อมูลเกี่ยวกับ processors, hard disks, memory, network performance, kernel tracing รัน 60 วินาที ปิดอัตโนมัติ
หมายความว่าอะไร ตอน Data Collector Set "รัน 60 วินาที"? นี่ความดีของ sets: รันในพื้นหลัง และเก็บข้อมูลเฉพาะตอนรัน สามารถ schedule ให้เริ่ม/หยุด ตามเงื่อนไขต่างๆ (รายละเอียดด้านล่าง)
มาสร้าง custom Data Collector Set ของตัวเอง
ใน sidebar คลิกขวา Data Collector Sets > User Defined เลือก New > Data Collector Set
ตั้งชื่อ เช่น "Network Performance" หรือ "Memory Leaks" และแน่ใจว่าเลือก Create manually (Advanced) เพื่อตั้งค่าตั้งแต่ศูนย์ คลิก Next
ถูกถามว่าอยาก include ข้อมูลประเภทไหน simplest: เลือกแค่ Create data logs > Performance counter คลิก Next
ตอนนี้ กำหนด performance counters ที่จะใช้ใน set นี้ คลิก Add... เลือกที่ต้องการ และจำนวนที่ต้องการ
สำคัญ: ก่อนคลิก Next ต้องตั้ง Sample Interval เป็น 1 second นี่กำหนดว่า Performance Monitor จะ take "sample" ของ counters บ่อยแค่ไหน ถ้า interval ยาวเกินไป อาจพลาดรายละเอียดสำคัญระหว่าง samples
ข้อมูลที่ set เก็บ ต้องเก็บไว้ที่ไหน เพื่อวิเคราะห์ภายหลัง default location ใช้ได้ หรือย้ายไปไหนก็ได้ บางคนวางบน Desktop
สุดท้าย เลือก user ที่ set นี้จะรันภายใต้ ตอนมันรัน default รันบนระบบ active อยู่ แต่คลิก Change ตั้ง user เฉพาะได้
เลือก Save and close คลิก Finish
เสร็จแล้ว! Data Collector Set แรกของคุณ พร้อม คลิกขวาใน sidebar เลือก Start เริ่ม หรือ Stop หยุด จุดนี้ Start จะทำให้รันตลอด (จนกว่าระบบปิด)
ตั้งระยะเวลารัน (Run Duration)
วิธีตั้ง duration เฉพาะ ให้รันแค่ 60 วินาที หรือ 1 ชั่วโมง คลิกขวา Data Collector Set เลือก Properties
ไปแท็บ Stop Condition ตั้ง Overall Duration ให้ set หยุดอัตโนมัติ ตอน duration ครบ duration มักใช้ 60 วินาที
จัดตารางรันอัตโนมัติ (Scheduling)
อยากติดตามระบบอัตโนมัติในพื้นหลัง ช่วงๆ สม่ำเสมอ ให้ Performance Monitor จัดการ คลิกขวา set เลือก Properties
ไปแท็บ Schedule จะเห็น สามารถตั้ง conditional triggers หลายตัว สำหรับเมื่อ set จริงๆ รัน คลิก Add เริ่มต้น trigger แรก
ทิ้ง beginning date ไว้ ไม่สน expiration date (เว้นแต่อยาก schedule นี้ apply แค่ช่วงเวลาจำกัด) เลือก วันไหนรัน และ เวลาไหนรัน
ถ้าอยากรันเวลาต่างกัน ตามวัน Multiple schedules ช่วยได้ เช่น Schedule 1 รัน 3:30 AM วันเสาร์ Schedule 2 รัน 9:00 AM วันพุธ หน่อยน่ารำคาญ แตทำงานได้
3. ดูข้อมูลเพื่อวิเคราะห์
Data Collector Set รันเสร็จ โหลด log file เข้า Performance Monitor เพื่อ visualize ข้อมูลที่ track
คลิก Performance Monitor ใน sidebar ดู monitor จริง แล้วคลิก View Log Data ใน toolbar
แท็บ Source เลือก Log files เป็น data source คลิก Add browse ไปที่ save set data เลือกไฟล์ (ควรเป็น format .BLG)
ต่อไป แท็บ Data ด้วย log file โหลดแล้ว นี่คือที่ เลือก data points ที่อยากดูใน monitor คลิก Add จะเลือกได้จาก counters ที่ track ใน log data
คลิก Apply แล้ว OK
5 รูปแบบการดูข้อมูลที่แตกต่าง
ค่าเริ่มต้น monitor แสดงเป็นเส้น (lines) เห็นใน screenshots ก่อนหน้า แตดูแบบอื่นได้อีก 4 แบบ Screenshots ด้านล่าง แสดงข้อมูลเดียวกัน 5 แบบ
Lines
Histograms
Reports
Areas
Stacked
วิธีเพิ่มประสิทธิภาพ PC อื่นๆ
วันสิ้นสุด Performance Monitor คือ monitor เท่านั้น ดีแค่ระบุปัญหา ไม่แก้ไข -- แต่การ monitor ไม่มีอะไรดีกว่า เครื่องมือ must-use สำหรับ Windows power users
สังเกตด้วย: Performance Monitor ไม่ใช่ยาทุกโรค ความช้าของ PC อาจมาจากปัญหาอื่นเยอะ ถ้าบน Windows 10 มี tweaks และ tips เฉพาะ OS หลายอย่าง ใช้เพิ่มความเร็ว ตั้งแต่ start up ถึง shut down
ถ้าระบบยังช้า อาจ benchmark ฮาร์ดแวร์ Bottlenecks ฮาร์ดแวร์ เป็น 1 ใน สาเหตุใหญ่ของ PC ช้า
คุณเคยใช้ Performance Monitor ไหม? ถ้าไม่ จะเริ่มตอนนี้ไหม? มีเคล็ดลับอื่นแชร์ไหม? บอกมาในความคิดเห็นได้เลย!