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