วิธีตรวจจับและแก้ไขปัญหาการรั่วไหลของทรัพยากรและข้อผิดพลาดด้านกราฟิกใน Windows

อัปเดตล่าสุด: 22/10/2026

  • อ็อบเจ็กต์ GDI และ USER, หน่วยความจำ GPU และ RAM ต้องการการวัดที่แตกต่างกัน
  • การบริโภคสูงในระดับสูงเพียงอย่างเดียวไม่ได้ยืนยันว่ามีการรั่วไหลของทรัพยากร
  • ทำซ้ำขั้นตอนเดิมและบันทึกว่ากระบวนการใดสะสมทรัพยากรมากที่สุด
  • การกู้คืนภาพโดยใช้วิธีลัดไม่ได้แก้ไขต้นเหตุของการรั่วไหล
ตรวจจับและแก้ไขปัญหาการรั่วไหลของทรัพยากรและข้อผิดพลาดด้านกราฟิกใน Windows

หาก Windows เริ่มทำงานได้ตามปกติ และหลังจากนั้นหลายชั่วโมง หน้าต่างแสดงผลผิดปกติ หรือแอปพลิเคชันทำงานไม่เสถียร อาจเกิดจากสาเหตุต่อไปนี้ การสะสมทรัพยากรที่ไม่ได้รับการปล่อยออกมาอย่างไรก็ตาม หน้าจอดำหรือการใช้งานหน่วยความจำสูงเพียงอย่างเดียวไม่เพียงพอที่จะยืนยันว่ามีการรั่วไหลเกิดขึ้น

เพื่อตรวจสอบความเป็นไปได้ การรั่วไหลของทรัพยากรกราฟิกใน Windowsสิ่งสำคัญคือต้องแยกแยะความแตกต่างระหว่างวัตถุอินเทอร์เฟซ หน่วยความจำ GPU และหน่วยความจำแอปพลิเคชัน แต่ละประเภทต้องการการวัดที่แตกต่างกัน เป้าหมายคือการค้นหาการเติบโตที่สามารถทำซ้ำได้และเชื่อมโยงกับกระบวนการหรือการดำเนินการเฉพาะ

ระบุว่าทรัพยากรใดกำลังเพิ่มขึ้น: GDI, หน่วยความจำกราฟิก หรือ RAM

ระบุว่าทรัพยากรใดบ้างที่กำลังเติบโตใน Windows

คำว่า "ทรัพยากรกราฟิก" สามารถหมายถึงองค์ประกอบต่างๆ ได้ ก่อนที่จะเปลี่ยนตัวควบคุม ให้ตรวจสอบว่าตัวบ่งชี้ใดเพิ่มขึ้น:

ทรัพยากร มันหมายถึงอะไร? จะเริ่มจากตรงไหนดี
วัตถุ GDI ทรัพยากรสำหรับการวาดภาพ เช่น บิตแมป ฟอนต์ และบริบทของอุปกรณ์ จำนวนอ็อบเจ็กต์ GDI ต่อกระบวนการ
วัตถุผู้ใช้ ส่วนประกอบต่างๆ ของอินเทอร์เฟซ เช่น หน้าต่าง เมนู และเคอร์เซอร์ จำนวนอ็อบเจ็กต์ USER ต่อกระบวนการ
หน่วยความจำ GPU หน่วยความจำเฉพาะและหน่วยความจำระบบที่ใช้ร่วมกับ GPU ส่วนจัดการงาน ประสิทธิภาพ และรายละเอียด
หน่วยความจำส่วนตัวของแอปพลิเคชัน หน่วยความจำที่ถูกจัดสรรไว้แล้วและไม่ได้ใช้ร่วมกับกระบวนการอื่น ตัวนับไบต์ส่วนตัวของกระบวนการ
พูลแบบเพจจิ้งและพูลแบบไม่เพจจิ้ง ทรัพยากรหน่วยความจำเคอร์เนลที่ใช้โดย Windows และไดรเวอร์ ตัวนับหน่วยความจำทั่วโลก และ PoolMon หากจำเป็น

การใช้งานอ็อบเจ็กต์อินเทอร์เฟซจนหมดอาจทำให้ระบบล่มได้ แม้ว่าจะมีหน่วยความจำเหลืออยู่ก็ตาม ดังนั้น การตรวจสอบเพียงแค่เปอร์เซ็นต์ของ RAM หรือ VRAM ในหน่วยกิกะไบต์ อาจทำให้พลาดส่วนสำคัญของปัญหาไป

ตรวจสอบอ็อบเจ็กต์ GDI และ USER สำหรับแต่ละกระบวนการ

ใน Windows 11 คุณสามารถเริ่มต้นด้วย ตัวจัดการงาน:

  1. เปิดด้วย Ctrl + Shift + Esc.
  2. เข้า รายละเอียด.
  3. คลิกขวาที่ส่วนหัวของคอลัมน์แล้วเปิด เลือกคอลัมน์.
  4. เพิ่มคอลัมน์ของ วัตถุ GDI, วัตถุผู้ใช้ หรือ ผู้ใช้รวมถึงตัวระบุและขนาดการยืนยันที่มีอยู่
  5. จดชื่อกระบวนการ รหัส PID และค่าเริ่มต้นของกระบวนการนั้นไว้

ชื่ออาจแตกต่างกันไปขึ้นอยู่กับภาษาและเวอร์ชัน ตัวระบุทั่วไปหรือแฮนเดิลเป็นหน่วยวัดที่แตกต่างออกไป: พวกมันไม่เทียบเท่ากับจำนวนวัตถุ GDI หรือวัตถุ USER

เนื้อหาพิเศษ - คลิกที่นี่  วิธีแก้ปัญหาข้อผิดพลาด 0x80070520 ที่แสดงข้อความว่ารหัสผ่านไม่ถูกต้อง ทั้งๆ ที่ป้อนรหัสผ่านถูกต้องแล้ว

ถัดไป ให้ลองทำซ้ำการกระทำที่ดูเหมือนจะเป็นสาเหตุของความล้มเหลว เช่น การเปิดและปิดแผงควบคุม การสร้างภาพตัวอย่าง หรือการทำซ้ำการวาด ตรวจสอบว่าจำนวนนับเพิ่มขึ้นในแต่ละรอบหรือไม่ และในที่สุดก็คงที่หรือไม่

ค่าสูงเพียงค่าเดียวไม่ได้ยืนยันว่ามีการรั่วไหลเสมอไป สิ่งที่สำคัญกว่านั้นคือ ลำดับเหตุการณ์เดียวกันนี้ทำให้เกิดการเพิ่มขึ้นอย่างต่อเนื่องโดยไม่มีการทรงตัว โดยเฉพาะอย่างยิ่งหากเกิดขึ้นพร้อมกับข้อผิดพลาดของอินเทอร์เฟซ

คุณสามารถใช้ได้เช่นกัน โปรแกรมสำรวจกระบวนการของ Microsoft Sysinternals เพื่อขยายขอบเขตการตรวจสอบกระบวนการและตัวระบุต่างๆ

จำลองปัญหาและเปรียบเทียบผลก่อนและหลัง

บุคคลที่นั่งอยู่หน้าคอมพิวเตอร์ด้วยสีหน้าหงุดหงิด

โดยปกติแล้ว การทดสอบแบบควบคุมจะให้ข้อมูลมากกว่าการเปิดคอมพิวเตอร์ทิ้งไว้โดยไม่บันทึกสิ่งที่เกิดขึ้น:

  1. เปิดแอปพลิเคชันและรอจนกว่าการโหลดเริ่มต้นจะเสร็จสมบูรณ์
  2. จดบันทึกตัวเลขที่คุณกำลังติดตามอยู่
  3. ทำซ้ำขั้นตอนเดียวกันหลายๆ ครั้งกับเอกสารหรือโครงการที่คล้ายคลึงกัน
  4. ปิดแผงควบคุมหรือเอกสารที่ใช้งานอยู่ แล้วสังเกตการเปลี่ยนแปลง
  5. บันทึกงานของคุณ ปิดแอปพลิเคชันจากเมนู และทำการทดสอบซ้ำในเซสชันใหม่

หากการทำซ้ำแต่ละครั้งเพิ่มทรัพยากร และพฤติกรรมเริ่มต้นใหม่อีกครั้งเมื่อคุณเปิดแอปพลิเคชัน นั่นจะเป็นเบาะแสที่มีประโยชน์ในการตรวจสอบโปรแกรมนั้น ปลั๊กอิน หรือฟังก์ชันที่โปรแกรมนั้นใช้

การปล่อยทรัพยากรไม่ได้เกิดขึ้นทันทีเสมอไป: แอปพลิเคชันบางตัวเก็บแคชและนำทรัพยากรกลับมาใช้ใหม่ การเพิ่มขึ้นในช่วงแรกแล้วคงที่ในภายหลังนั้นจะถูกตีความแตกต่างจากการเพิ่มขึ้นอย่างต่อเนื่องในช่วงรอบการทำงานที่เท่ากัน

ใช้ PerfMon เพื่อบันทึกการใช้หน่วยความจำเมื่อเวลาผ่านไป

เปิดการวิ่งด้วย วินโดวส์ + อาร์เขียนว่า perfmon แล้วกด Enter ใน Performance Monitor คุณสามารถเพิ่มตัวนับเพื่อสังเกตกระบวนการเฉพาะและสถานะหน่วยความจำโดยรวมได้

ชื่อภาษาอังกฤษเหล่านี้ใช้สำหรับการอ้างอิงเท่านั้น ระบบปฏิบัติการ Windows อาจแสดงชื่อเหล่านี้ในรูปแบบที่แปลแล้ว:

เคาน์เตอร์ มันใช้สำหรับอะไร?
Process\Private Bytes การติดตามหน่วยความจำส่วนตัวที่ถูกบุกรุกของแอปพลิเคชัน
Process\ID Process เชื่อมโยงอินสแตนซ์ตัวนับเข้ากับ PID ของมัน
Process\Handle Count สังเกตจำนวนตัวระบุที่เปิดอยู่
Memory\Pool Paged Bytes ตรวจสอบขนาดของพูลเพจเจอร์ของเคอร์เนล
Memory\Pool Nonpaged Bytes ติดตามขนาดของกลุ่มข้อมูลที่ไม่แบ่งหน้า
Memory\Available MBytes สังเกตหน่วยความจำทางกายภาพที่มีอยู่

เลือกอินสแตนซ์ของกระบวนการที่คุณต้องการตรวจสอบ ตรวจสอบ PID เมื่อมีหลายอินสแตนซ์ที่มีชื่อเดียวกัน หรือเมื่อคุณรีสตาร์ทแอปพลิเคชัน

เพื่อรักษาคุณภาพของปลาที่จับได้เป็นเวลานาน:

  1. ขยาย ชุดเก็บรวบรวมข้อมูล > กำหนดเองโดยผู้ใช้.
  2. สร้างชุดข้อมูลใหม่และเลือกการสร้างด้วยตนเองขั้นสูง
  3. เลือกสร้างบันทึกข้อมูลและทำเครื่องหมาย ตัวนับประสิทธิภาพ.
  4. เพิ่มตัวนับและกำหนดช่วงเวลาการสุ่มตัวอย่าง
  5. เลือกโฟลเดอร์ปลายทางและทำตามขั้นตอนในตัวช่วยสร้างให้เสร็จสิ้น
  6. เริ่มการเก็บรวบรวมข้อมูลก่อนที่จะทำให้เกิดปัญหา และหยุดการเก็บรวบรวมข้อมูลเมื่อเสร็จสิ้น
เนื้อหาพิเศษ - คลิกที่นี่  วิธีใช้ iMac เครื่องเก่าเป็นจอภาพที่สอง

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

มันตีความค่าตัวนับโดยไม่ทำให้เกิดความสับสนระหว่าง RAM และหน่วยความจำเคอร์เนล

หน่วยความจำ RAM ของคอมพิวเตอร์

การเติบโตอย่างต่อเนื่องของ ไบต์ส่วนตัว ข้อมูลนี้สามารถช่วยชี้นำการตรวจสอบไปยังแอปพลิเคชันที่เกี่ยวข้องได้ อย่างไรก็ตาม มันอาจสะท้อนถึงงานค้าง เอกสารขนาดใหญ่ หรือแคชได้เช่นกัน ควรเปรียบเทียบปริมาณงานที่เทียบเท่ากันก่อนที่จะสรุปว่ามีการรั่วไหลเกิดขึ้นหรือไม่

การเพิ่มขึ้นใน พูลเพจ ระบบนี้ไม่ได้ระบุการรั่วไหลของหน่วยความจำในโหมดผู้ใช้โดยอัตโนมัติ ทั้งส่วนนี้และพูลหน่วยความจำที่ไม่ถูกแบ่งหน้าจัดอยู่ในทรัพยากรของเคอร์เนล และผลรวมของทั้งสองส่วนนี้เพียงอย่างเดียวไม่ได้บ่งชี้ว่าส่วนประกอบใดกำลังใช้หน่วยความจำมากเกินไป

หากแนวโน้มชี้ไปที่กลุ่มใดกลุ่มหนึ่งเหล่านี้ PoolMon ซึ่งรวมอยู่ใน Windows Driver Kitฟังก์ชันนี้ช่วยให้คุณตรวจสอบงานที่ได้รับมอบหมายตามป้ายกำกับได้ เป็นขั้นตอนการวิเคราะห์ขั้นสูงที่สามารถช่วยเชื่อมโยงการเติบโตกับส่วนประกอบหรือตัวควบคุมได้

เปอร์เซ็นต์การใช้งานไฟล์เพจจิ้งให้ข้อมูลเชิงบริบท แต่ไม่ได้ระบุแหล่งที่มาของการรั่วไหล หรือใช้แทนการวัดผลกระบวนการได้

ตรวจสอบหน่วยความจำ GPU และตัดความเป็นไปได้ของการอ่านค่าที่ผิดพลาดออกไป

การ์ดจอที่ติดตั้งอยู่ภายในคอมพิวเตอร์

ในตัวจัดการงาน ให้เปิด ประสิทธิภาพ > GPU หากต้องการตรวจสอบการใช้งานโดยรวม ในส่วนรายละเอียด คุณสามารถเพิ่มคอลัมน์สำหรับหน่วยความจำ GPU เฉพาะและหน่วยความจำ GPU ที่ใช้ร่วมกัน เพื่อสังเกตกระบวนการทำงานได้

ในกราฟิกการ์ดแบบแยก หน่วยความจำเฉพาะจะตรงกับ VRAM ของการ์ดนั้น ส่วนหน่วยความจำร่วมจะใช้ RAM ของระบบ ใน GPU แบบรวม หน่วยความจำเฉพาะบางส่วนอาจมาจากกลุ่ม RAM ด้วย

ทรัพยากรที่ใช้ร่วมกันระหว่างกระบวนการต่างๆ อาจถูกนับรวมโดยหลายกระบวนการ ดังนั้น การรวมทุกแถวจึงไม่จำเป็นต้องเท่ากับปริมาณการใช้ทรัพยากรทั้งหมดเสมอไป นอกจากนี้ยังส่งผลต่อการตีความกระบวนการที่ใช้ทรัพยากรร่วมกับแอปพลิเคชันอื่นๆ เช่น DWM ด้วย

นอกจากนี้ ไมโครซอฟต์ยังจัดทำเอกสารเกี่ยวกับเรื่องนี้ด้วย ปัญหาการนับในระบบ Windows 10 บางระบบ ซึ่งสามารถจำลองการรั่วไหลของหน่วยความจำ GPU ต่อกระบวนการได้ ในกรณีที่ได้รับผลกระทบ แท็บประสิทธิภาพและเครื่องมือ WPR หรือ WPA จะแนะนำเกณฑ์มาตรฐานที่เหมาะสม

หากคำถามของคุณเกี่ยวข้องกับตัวจัดการการแสดงผลบนเดสก์ท็อป โปรดดูบทความเฉพาะเรื่องนั้น การใช้ VRAM ของ dwm.exe.

เนื้อหาพิเศษ - คลิกที่นี่  ไม่สามารถคัดลอกไฟล์ขนาดใหญ่ได้ แม้ว่าจะมีพื้นที่ว่างเพียงพอ: วิธีแก้ปัญหา

ปุ่มลัด Windows + Ctrl + Shift + B สามารถทำอะไรได้บ้าง?

ไมโครซอฟต์รวมถึง Windows + Ctrl + Shift + B หนึ่งในตัวเลือกการกู้คืนสำหรับปัญหาหน้าจอดำหรือกระพริบ หากวิธีนี้ได้ผล คุณอาจได้ยินเสียงบี๊บหรือเห็นการกระพริบ หน้าจอไม่จำเป็นต้องเปลี่ยนเป็นสีขาวเสมอไป

ใช้เป็นมาตรการในการกู้คืนภาพของคุณ การที่เดสก์ท็อปกลับมาตอบสนองอีกครั้งไม่ได้ยืนยันว่ามีการรั่วไหลหรือพิสูจน์ได้ว่าต้นเหตุของการรั่วไหลได้รับการแก้ไขแล้ว

ระบบปฏิบัติการ Windows ยังมีกลไกการกู้คืนสำหรับการทำงานผิดพลาดของ GPU ด้วย หากคุณเห็นการแจ้งเตือนว่าไดรเวอร์หยุดทำงานและกู้คืนแล้ว ให้จดเวลาและตรวจสอบเหตุการณ์ที่เกี่ยวข้อง การแจ้งเตือนนี้บ่งชี้ว่าระบบกราฟิกกำลังกู้คืน แต่ไม่ได้ระบุถึงการรั่วไหลของหน่วยความจำโดยตรง

ตรวจสอบใบสมัครและคนขับที่เกี่ยวข้อง

เมื่อเกิดปัญหาในโปรแกรมใดโปรแกรมหนึ่ง ให้เริ่มต้นด้วยการอัปเดตโปรแกรมนั้นและตรวจสอบปลั๊กอิน หากสามารถปิดใช้งานการเร่งความเร็วของกราฟิกชั่วคราวได้ ให้เปรียบเทียบผลลัพธ์กับการดำเนินการเดียวกัน

ตัวอย่างเช่น Adobe แนะนำให้ยกเลิกการเลือกช่องทำเครื่องหมายใน Photoshop แก้ไข > การตั้งค่า > ประสิทธิภาพ > ใช้โปรเซสเซอร์กราฟิกรีสตาร์ทแอปพลิเคชันและตรวจสอบการทำงาน การปรับปรุงนี้จะนำการตรวจสอบไปยังส่วนที่เกี่ยวข้องกับกราฟิก แต่ไม่ได้แยกแยะโดยอัตโนมัติว่าเป็นข้อผิดพลาดของแอปพลิเคชัน ไดรเวอร์ หรือฮาร์ดแวร์

หากปัญหาเริ่มเกิดขึ้นทันทีหลังจากอัปเดตไดรเวอร์ ให้ตรวจสอบปัญหาที่ทราบแล้วและความเป็นไปได้ในการย้อนกลับไปใช้เวอร์ชันก่อนหน้า Windows มีตัวเลือกนี้ให้ ตัวจัดการอุปกรณ์ > อะแดปเตอร์แสดงผล > คุณสมบัติ > ไดรเวอร์ > ย้อนกลับไดรเวอร์ เมื่อมันเก็บเวอร์ชันที่มีอยู่ไว้

เปลี่ยนทีละองค์ประกอบแล้วทำการทดสอบซ้ำ วิธีนี้จะช่วยให้คุณเห็นว่าการเปลี่ยนแปลงใดส่งผลต่อการเติบโตของทรัพยากร แทนที่จะสับสนหลังจากทำการเปลี่ยนแปลงหลายอย่างพร้อมกัน

ควรบันทึกข้อมูลอะไรบ้างเพื่อแก้ไขปัญหานี้?

ไฟล์นี้จะเก็บชื่อและเวอร์ชันของแอปพลิเคชัน บิลด์ของ Windows รุ่นของ GPU เวอร์ชันของไดรเวอร์ และขั้นตอนที่จำเป็นในการจำลองข้อผิดพลาด นอกจากนี้ยังรวมถึงค่าเริ่มต้นและค่าสุดท้าย หรือบันทึกของ PerfMon ด้วย

คำอธิบายเช่น "ทุกครั้งที่ฉันเปิดและปิดแผงนี้ จำนวนอ็อบเจ็กต์ GDI ของกระบวนการจะเพิ่มขึ้นและไม่คงที่" จะมีประโยชน์มากกว่าการบอกเพียงว่า Windows ทำงานช้า

การปิดและเปิดแอปพลิเคชันใหม่อาจช่วยบรรเทาปัญหาได้ชั่วคราว การแก้ไขอย่างถาวรจะขึ้นอยู่กับส่วนประกอบที่เป็นสาเหตุ: การอัปเดตโปรแกรม ปลั๊กอินที่ได้รับการแก้ไข หรือไดรเวอร์ที่แก้ไขปัญหาที่ระบุไว้