47 of 59 menu

การรั่วไหลของหน่วยความจำ

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

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

มีวิธีต่อไปนี้ในการป้องกันการรั่วไหลของหน่วยความจำ:

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

ดูเพิ่มเติม

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ