47 of 59 menu

Διαρροές μνήμης

Η διαδικασία διαρροής μνήμης αντιπροσωπεύει τη σταδιακή αύξηση του όγκου της μνήμης RAM που καταναλώνει ένα πρόγραμμα που εκτελείται. Συνήθως είναι αποτέλεσμα ενός σφάλματος που έγινε στο πρόγραμμα, λόγω του οποίου η αχρησιμοποίητη μνήμη δεν απελευθερώνεται.

Οι διαρροές μνήμης είναι ιδιαίτερα επικίνδυνες για προγράμματα που λειτουργούν για μεγάλο χρονικό διάστημα χωρίς επανεκκίνηση. Σε αυτή την περίπτωση, μετά από κάποιο χρονικό διάστημα ένα τέτοιο πρόγραμμα μπορεί να εξαντλήσει ολόκληρο τον διαθέσιμο όγκο της μνήμης RAM, κάτι που θα οδηγήσει σε επείγοντα σταμάτημα του προγράμματος ή, ακόμα χειρότερα, σε εσφαλμένη λειτουργία.

Υπάρχουν οι ακόλουθοι τρόποι για την πρόληψη των διαρροών μνήμης:

  • Η χρήση συλλεκτών απορριμμάτων (garbage collectors), οι οποίοι απελευθερώνουν την αχρησιμοποίητη μνήμη, αλλά ταυτόχρονα αφαιρούν μέρος των πόρων του συστήματος για τη λειτουργία τους, κάτι που οδηγεί σε επιβραδύνσεις στη λειτουργία του ή σε κολλήματα.
  • Η επανεκκίνηση του προγράμματος με τη βοήθεια ενός εξωτερικού προγράμματος, συνέπεια της οποίας είναι μετά το τέλος της λειτουργίας του προγράμματος όλη η μνήμη να επιστρέφεται ξανά στο σύστημα και οι διαρροές δεν γίνονται τόσο μεγάλες.
  • Η αποφυγή της δυναμικής κατανομής μνήμης, κάτι που από την άλλη πλευρά αποκλείει τέτοια σφάλματα, αλλά περιορίζει και τη λειτουργικότητα των προγραμμάτων.
  • Η χρήση δείκτες ιδιοκτησίας (owning pointers) για να ευθυγραμμιστεί ο χρόνος ζωής του δείκτη και ο χρόνος ζωής του αντικειμένου στο οποίο αναφέρεται. Ωστόσο, αυτός ο τρόπος δεν είναι κατάλληλος για κυκλικές αναφορές μεταξύ αντικειμένων.

Δείτε επίσης

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη