à¹à¸§à¸à¹à¸²à¸à¸±à¸ à¸à¸à¸±à¸à¸à¸´à¹à¸¨à¸©
สารบัญ:
การรั่วไหลของหน่วยความจำ เป็นการใส่ทรัพยากรในโปรแกรมคอมพิวเตอร์เนื่องจากมีการจัดสรรหน่วยความจำผิดพลาด เกิดขึ้นเมื่อสถานที่แรมที่ไม่ใช้งานยังไม่ได้อาคิโอะ หน่วยความจำรั่วไม่ควรสับสนกับการรั่วไหลของพื้นที่ซึ่งหมายถึงโปรแกรมที่ใช้แรมมากกว่าที่จำเป็น หน่วยความจำรั่วไหลในระบบ Windows 10/8/7 เกิดขึ้นเมื่อหน่วยความจำไม่สามารถเข้าถึงได้แม้จะไม่ได้ใช้งาน การรั่วไหลของหน่วยความจำใน Windows 10
ก่อนที่คุณจะเริ่มต้นคุณควรทราบด้วยว่า การรั่วไหลของหน่วยความจำเป็นปัญหาเกี่ยวกับซอฟต์แวร์เพื่อแก้ปัญหา - ตัวอย่างเช่นใน Java, JavaScript, C / C ++, Windows ฯลฯ ไม่จำเป็นต้องเปลี่ยนแรมหรือฮาร์ดดิสก์เป็นจริงเป็นจัง
เหตุใดจึงไม่ดี
เห็นได้ชัดว่าหน่วยความจำ รั่วไหลไม่ดีเพราะเป็นข้อผิดพลาดข้อบกพร่องในระบบ แต่เรามาดูกันว่ามันมีผลต่อระบบอย่างไร:
เนื่องจากหน่วยความจำไม่ได้ถูกปลดปล่อยแม้ว่าจะไม่ได้ใช้งาน แต่ก็ส่งผลให้หน่วยความจำหมดลง
- ความเหนื่อยล้าของหน่วยความจำทำให้เกิดการใช้งานซอฟต์แวร์
- ลดหน่วยความจำที่มีอยู่ นำไปสู่การตอบสนองที่เพิ่มขึ้นและประสิทธิภาพที่ไม่ดีขึ้นโดยระบบ
- การรั่วไหลของหน่วยความจำแบบไม่ถูกต้องอาจทำให้เกิดความผิดพลาดของแอพพลิเคชันได้
- เพื่อที่จะระบุการรั่วไหลของหน่วยความจำโปรแกรมเมอร์ต้องสามารถเข้าถึงซอร์สโค้ดของ โปรแกรม
การค้นหาการรั่วไหล
ในการแก้ปัญหาเราจำเป็นต้องระบุปัญหาก่อน ขั้นตอนพื้นฐานในการค้นหาตำแหน่งหน่วยความจำรั่วคือ
การยืนยัน
- : การระบุว่ามีการรั่วไหล หาตำแหน่งหน่วยความจำรั่วไหลของโหมดเคอร์เนล
- : หาตำแหน่งรั่วไหลที่เกิดจากส่วนประกอบโปรแกรมควบคุมโหมดเคอร์เนล การหาตำแหน่งรั่วไหลที่เกิดจากไดรเวอร์หรือแอพพลิเคชันโหมดผู้ใช้
- การจัดสรรหน่วยความจำ มีโหมดต่างกันที่แอพพลิเคชันจัดสรรแรม ถ้าเนื้อที่ไม่ว่างหลังจากใช้งานหน่วยความจำรั่วจะเกิดขึ้นโดยไม่คำนึงถึงรูปแบบการจัดสรร รูปแบบการปันส่วนทั่วไปบางอย่างคือ
ฟังก์ชัน HealAlloc สำหรับการจัดสรรหน่วยความจำฮีป คอมโพเนนต์ C / C + + runtime คือ malloc และใหม่
ฟังก์ชัน VirtualAlloc สำหรับการจัดสรรโดยตรงจาก OS
- Kernel32 APIs เพื่อเก็บหน่วยความจำเคอร์เนลสำหรับแอ็พพลิเคชัน ตัวอย่างเช่น CreateFile, CreateThread
- User32 APIs และ Gdi32 APIs
- การป้องกันการรั่วไหลของหน่วยความจำ
- เรารู้ดีว่าการป้องกันทำได้ดีกว่าการรักษาดังนั้นนี่คือวิธีป้องกันการรั่วไหลของหน่วยความจำ
นิสัยการตรวจสอบ
คุณต้องระวังการใช้แรมผิดปกติโดยโปรแกรมและโปรแกรมแต่ละตัว คุณสามารถไปที่ Windows Task Manager ได้โดยการกด
CTRL + SHIFT + ESC
และเพิ่มคอลัมน์เช่น Handles, User Objects, GDI Objects ฯลฯ ซึ่งจะช่วยให้คุณสามารถตรวจสอบการใช้ทรัพยากรได้อย่างรวดเร็ว เครื่องมือตรวจวินิจฉัยการรั่วไหลของหน่วยความจำ
เครื่องมือตรวจวินิจฉัยการรั่วไหลของหน่วยความจำ
UMDH (ส่วนประกอบของ Windows Debugging Tools) จะวิเคราะห์การรั่วไหลของโพรเซสโดยการตรวจสอบการจัดสรรหน่วยความจำฮีป
Trace Capture สำหรับการวิเคราะห์การใช้ RAM อย่างละเอียด
- Xperf ยังติดตามรูปแบบการจัดสรรฮีป
- CRT Debug Heap ไม่เพียง แต่ติดตามการจัดสรร heap แต่ยังช่วยให้การเข้ารหัสสามารถลดการรั่วไหลได้ด้วย
- ตรวจจับการรั่วไหลของหน่วยความจำในรหัส
- เคล็ดลับการใช้
- ใช้เคอร์เนล
- HANDLE
และตัวชี้สมาร์ทอื่น ๆ สำหรับทรัพยากร Win32 และการจัดสรรฮีป
- รับชั้นเรียนสำหรับการจัดการทรัพยากรโดยอัตโนมัติสำหรับการจัดสรรเคอร์เนลจาก ไลบรารี ATL มาตรฐาน C ++ มี auto_ptr สำหรับการปันส่วนฮีป
- ตัวชี้อินเทอร์เฟซ Encapsulate COM ภายใน "สมาร์ทพอยน์เตอร์" โดยใช้ _com_ptr_t หรือ
- _bstr_t หรือ _variant_tตรวจสอบรหัส NET สำหรับการใช้งานหน่วยความจำที่ผิดปกติ หลีกเลี่ยงทางออกหลายทางสำหรับฟังก์ชันเพื่อให้การปันส่วนถูกปลดปล่อยจากตัวแปรในบล็อคส่วนใหญ่เมื่อสิ้นสุดการทำงาน ใช้ข้อยกเว้นแบบเนทีฟเท่านั้น หลังจากพ้นการจัดสรรทั้งหมดในบล็อก _finally ห่อกองทั้งหมดและจัดการการปันส่วนเป็นสมาร์ทพอยน์เตอร์เพื่อใช้ข้อยกเว้น C ++
- เรียกใช้ฟังก์ชัน
- PropVariantClear
- ก่อนที่จะเริ่มต้นใหม่หรือทิ้งวัตถุ PROPVARIANT
- การแก้ปัญหาการรั่วไหลของหน่วยความจำใน Windows เช่นเดียวกับวิธีต่างๆในการป้องกันการรั่วไหลของหน่วยความจำมีวิธีต่างๆในการยับยั้งการรั่วไหลของหน่วยความจำ 1] ปิดกระบวนการและรีสตาร์ท
ถ้าคุณเห็นกระบวนการที่ไม่จำเป็นใช้เวลามากเกินไป RAM คุณสามารถจบกระบวนการใน Task Manager คุณจะต้องรีสตาร์ทอุปกรณ์เพื่อให้พื้นที่ว่างสำหรับการใช้งานโดยกระบวนการอื่น ๆ หากไม่มีปัญหารั่วไหลของหน่วยความจำใหม่จะไม่สามารถแก้ไขได้ กระบวนการเฉพาะอย่างหนึ่งที่มีข้อบกพร่องในการชะลอตัวพีซีคือ Runtime Broker ลองใช้งานหากต้องการปิดใช้งานอุปกรณ์แบบแยกตัว
2> เครื่องมือวินิจฉัยความจำ
การเข้าถึงเครื่องมือวินิจฉัยหน่วยความจำภายในสำหรับ Windows:
บันทึกงานสำคัญทั้งหมดของคุณ
กด
Win + R
- เพื่อเปิดหน้าต่าง
- Runพิมพ์คำสั่ง mdsched.exe ในหน้าต่าง
- Runรีสตาร์ทเครื่องคอมพิวเตอร์ หลังจาก " Advanced
- `เช่น`
- Test mix `หรือ` Pass count ` กด F10 เพื่อเริ่มทำการทดสอบ
- เหล่านี้ยังคงมีการแก้ไขชั่วคราว 3> ตรวจหาโปรแกรมควบคุมอัพเดต ไดรเวอร์ที่ล้าสมัยทำให้เกิดการรั่วไหลของหน่วยความจำ อัพเดตไดรเวอร์ทั้งหมด:
กด
Win + R
และเปิดหน้าต่าง
- เรียกใช้ พิมพ์ devmgmt.msc และกด Enter มันจะพาคุณไปที่ Device Managerตรวจหาไดรเวอร์ที่ล้าสมัยและอัพเดตทั้งหมด สำหรับการอัพเดทที่คุณอาจพลาดกรุณาตรวจสอบจาก Windows Update นี่ง่าย
- 4> ประสิทธิภาพการทำงานที่เพิ่มประสิทธิภาพ
- การปรับ Windows เพื่อประสิทธิภาพจะจัดการทุกอย่างรวมถึงการจัดตารางเวลาของโปรเซสเซอร์และการใช้หน่วยความจำเพื่อยับยั้งการรั่วไหลของหน่วยความจำ ทำตามขั้นตอนต่อไปนี้
คลิกขวาที่
พีซีนี้
และเลือกการตั้งค่า
- ขั้นสูง ในบานหน้าต่างด้านซ้าย ภายใต้ ขั้นสูง
- ตามด้วย การตั้งค่า `เลือก` ปรับค่าประสิทธิภาพที่ดีที่สุด `และคลิก
- ตกลงเริ่มต้นใหม่และตรวจสอบว่าปัญหาได้รับการแก้ไขแล้วหรือไม่ หากไม่สามารถแก้ไขปัญหาได้ให้ลองแก้ไขปัญหาถัดไป 5> ปิดการใช้งานโปรแกรมที่เริ่มต้นใช้งาน
- การปิดใช้งานโปรแกรมที่เป็นปัญหา วิธีเดียวที่จะกำจัดปัญหาการรั่วไหลของหน่วยความจำ ไปที่ Task Manager และปิดใช้งานโปรแกรม troublemaking ถ้าคุณไม่ทราบว่าโปรแกรมใดสร้างปัญหาให้ทำดังนี้:
ไปที่
Task Manager
`
- ไปที่ Startup
- ปิดใช้งานโปรแกรมเริ่มต้นที่คุณไม่จำเป็นต้องเรียกใช้ตามค่าเริ่มต้น 6> Defrag Hard Drive แม้ว่า Windows 10 จะทำเช่นนี้ให้คุณโดยอัตโนมัติคุณอาจจำเป็นต้องทำ Defrag ฮาร์ดไดรฟ์เป็นครั้งคราวเพื่อเพิ่มประสิทธิภาพการทำงาน:
- ไปที่
PC นี้
หรือ
- My Computer ` คลิกขวาที่ฮาร์ดไดรฟ์ของระบบ (โดยปกติคือ C: drive) ไปที่`
- `เลือก
- เพิ่มประสิทธิภาพ ` เลือกไดรฟ์เพื่อ defrag และเลือก ` Analyze ``ภายใต้ < > รีสตาร์ทเครื่องคอมพิวเตอร์หลังจากการกระจายตัวใหม่
- 7] ClearPage File at shutdown ตอนนี้กำลังกลายเป็นเรื่องยุ่งยากแล้ว แต่ไม่ต้องกังวล ต่อไปนี้คือวิธีการล้างไฟล์ Page เมื่อปิดเครื่องทุกครั้ง: พิมพ์
regedit
ใน Search เพื่อเปิด Registry Editor
ใส่เส้นทางนี้:
- HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management เปลี่ยนค่า ClearPageFileAtShutDown to `1`
- บันทึกการเปลี่ยนแปลงและรีสตาร์ทอุปกรณ์ ควรทำเช่นนี้
- 9> ปิดการใช้งาน Superfetch บริการ Windows นี้จะเพิ่มประสิทธิภาพโดยลดเวลาการบูต ช่วยให้ Windows สามารถจัดการการใช้ RAM ได้ ชีวิตหลังจากปิดใช้งาน Superfetch ไม่สะดวก แต่ต้องทำถ้าจำเป็น พยายามอย่างน้อยที่สุดเพื่อแยกปัญหา:
- ค้นหา
services.msc
และไปที่ Services Manager
ค้นหา `
- Superfetch ` และคลิกขวาเพื่อไป ` เลือก
- หยุด ` เลือก ` หยุด `
- นอกจากนี้ ปิดการใช้งาน `จากเมนูแบบหล่นลง
- รีสตาร์ทเครื่องคอมพิวเตอร์และตรวจสอบว่าประสิทธิภาพการทำงานดีขึ้นหรือไม่ เปิดใช้ Superfetch ถ้าไม่ได้ผล 10] ตรวจหามัลแวร์
- ใช้ซอฟต์แวร์ป้องกันไวรัสของ บริษัท อื่นหรือ Windows Defender ในบ้านของ Windows 10 เพื่อสแกนและกำจัดมัลแวร์ ตรวจสอบให้แน่ใจว่าโปรแกรมป้องกันไวรัสได้รับการอัปเดตเพื่อสนับสนุนระบบปฏิบัติการของคุณเพื่อไม่ให้กลายเป็นสาเหตุของการรั่วไหลของหน่วยความจำ
ทุกๆโซลูชันที่คุณอาจต้องการค้นหาหรือป้องกันการรั่วไหลของหน่วยความจำอยู่ที่นี่ คุณสามารถอ่านเพิ่มเติมเกี่ยวกับการรั่วไหลของหน่วยความจำใน MSDN และ Microsoft
ขั้นตอน
การตรวจสอบสองขั้นตอน
ใช้แอป Chrome สำหรับการยืนยันบัญชี Google แบบ 2 ขั้นตอน
ใช่ใช้แอป Chrome สำหรับการยืนยันบัญชี Google แบบ 2 ขั้นตอน ไม่จำเป็นต้องใช้ SMS ไม่ต้องใช้รหัสสำรองและไม่ต้องใช้แอป Google Authenticator
วิธีทำให้ windows pc ของคุณเข้าสู่ระบบอัตโนมัติใน 3 ขั้นตอน
ทำให้การลงชื่อเข้าใช้คอมพิวเตอร์ windows 7, Vista หรือ XP ของคุณโดยอัตโนมัติโดยไม่มีรหัสผ่าน