Δεν είναι μυστικό ότι ο Firefox μπορεί να καταναλώνει αρκετή μνήμη συστήματος κατά τη διάρκεια της κανονικής χρήσης. Ενώ ο αριθμός των καρτελών που έχετε ανοίξει και τα εγκατεστημένα πρόσθετα συμβάλλουν σίγουρα, ακόμη και μια συντηρητικά που χρησιμοποιείται εκτός εγκατάστασης μπορεί να αναφέρει αρκετή χρήση μνήμης.
Αυτό έχει προκαλέσει την εμφάνιση μερικών πρόσθετων Firefox που ισχυρίζονται ότι απελευθερώνουν μνήμη που δεν χρειάζεται πλέον το πρόγραμμα περιήγησης, αλλά λειτουργούν πραγματικά;
Επισκόπηση δύο λεπτών σχετικά με τον τρόπο με τον οποίο τα Windows χειρίζονται τη μνήμη
Πριν βυθίσουμε στην εξέταση ενός καθαριστή μνήμης, είναι σημαντικό να κατανοήσουμε λίγο για τον τρόπο με τον οποίο τα Windows χειρίζονται τη μνήμη. Αυτό θα είναι σημαντικό για να ερμηνεύσουμε τα αποτελέσματα του πειράματός μας.
Μην ανησυχείτε, θα το καλύψουμε σε πολύ υψηλό επίπεδο, ώστε να μην χρειάζεται να είστε mega-geek για να το ακολουθήσετε.
Ως γρήγορη αποποίηση ευθυνών, αυτή είναι μια εξαιρετικά σύντομη περίληψη των βασικών στοιχείων της διαχείρισης μνήμης των Windows. Σε καμία περίπτωση δεν πρέπει να θεωρείται αυθεντικό ή οριστικό, καθώς εξηγείται μόνο σε επίπεδο που ισχύει για το αντικείμενο αυτού του άρθρου.
Τα Windows είναι αρκετά έξυπνα για να γνωρίζουν ότι η αχρησιμοποίητη φυσική μνήμη είναι σπατάλη μνήμης, οπότε φορτώνει ό, τι χρειάζεται και πιστεύει ότι θα χρειαστεί στη μνήμη. Ωστόσο, μόνο αυτό που πραγματικά χρειάζεται το σύστημά σας (τόσο Windows όσο και εφαρμογές) και χρησιμοποιείται ενεργά την τρέχουσα ώρα αναφέρεται ως χρησιμοποιημένη φυσική μνήμη. Τα υπόλοιπα (αυτό που τα Windows πιστεύει ότι θα χρειαστούν) βρίσκονται σε αυτό που ονομάζεται εικονική μνήμη.
Η εικονική μνήμη είναι ουσιαστικά τα δεδομένα που δεν απαιτούνται ενεργά από το λειτουργικό σύστημα αλλά είναι έτοιμο να φορτωθεί σε ενεργή μνήμη ανά πάσα στιγμή. Μπορείτε να υπολογίσετε με ακρίβεια την ποσότητα της εικονικής μνήμης που διαθέτει το σύστημά σας ανά πάσα στιγμή χρησιμοποιώντας αυτόν τον τύπο:
Εικονική μνήμη = (Συνολική φυσική μνήμη - Χρησιμοποιημένη / Ενεργή φυσική μνήμη) + Μέγιστο μέγεθος αρχείου σελίδας συστήματος
Ας υποθέσουμε, λοιπόν, ότι έχετε ένα σύστημα με φυσική μνήμη 4 GB και ένα μέγιστο αρχείο σελίδας 6 GB. Στη συνέχεια, εκκινείτε τα Windows και ανοίγετε μερικές εφαρμογές (Outlook, Firefox κ.λπ.) και τα Windows αναφέρουν ότι χρησιμοποιείται 2,5 GB φυσικής μνήμης. Αυτό σημαίνει ότι έχετε 1,5 GB "αχρησιμοποίητης" φυσικής μνήμης και ένα αρχείο σελίδας 6 GB για συνολικά 7,5 GB διαθέσιμης εικονικής μνήμης.
Θυμηθείτε, το λειτουργικό σύστημα είναι αρκετά έξυπνο για να γνωρίζει ότι η αχρησιμοποίητη φυσική μνήμη είναι σπατάλη μνήμης, οπότε θα γεμίσει το υπόλοιπο 1,5 της φυσικής μνήμης με αυτό που αναμένει ότι θα χρειαστείτε, ώστε να είναι προσβάσιμο κατόπιν ζήτησης σχεδόν αμέσως. Αυτό μπορεί να είναι οτιδήποτε, από ελαχιστοποιημένα δεδομένα προγράμματος παρασκηνίου έως κοινές λειτουργίες λειτουργικού συστήματος.
Τι συμβαίνει λοιπόν όταν τα Windows εξαντλούνται από φυσική μνήμη για χρήση ως εικονική μνήμη; Γράφει αυτά τα δεδομένα στο αρχείο της σελίδας συστήματος που είναι ένα τεράστιο (στην περίπτωση μας 6 GB) αρχείο στον σκληρό σας δίσκο. Ενώ αυτό επιτρέπει στο λειτουργικό σύστημα να αποθηκεύει σχεδόν όλα τα δεδομένα που χρειάζεται να διατηρεί στη μνήμη, να γράφει και να ανακτά (γνωστό και ως σφάλμα σελίδας), αυτές οι πληροφορίες προς / από τον σκληρό δίσκο είναι παραγγελίες μεγέθους πιο αργές από την πρόσβαση σε αυτές από τη φυσική μνήμη. Γι 'αυτό όσο περισσότερη φυσική μνήμη έχετε τόσο πιο γρήγορα μπορεί να εκτελεστεί το σύστημά σας. Όσο λιγότερο χρησιμοποιεί το σύστημά σας το αρχείο σελίδας του, τόσο πιο γρήγορα θα εκτελεί.
Παρακολούθηση της χρήσης μνήμης του Firefox
Για την έρευνά μας θα χρησιμοποιούμε απλώς το Windows Task Manager Θα παρακολουθούμε τις ακόλουθες στήλες ( οι περιγραφές καθορίζονται στη σελίδα της Microsoft ):
- Working Set = Ποσότητα μνήμης στο ιδιωτικό σετ εργασίας συν το ποσό μνήμης που χρησιμοποιεί η διαδικασία και μπορεί να μοιραστεί με άλλες διαδικασίες.
- Peak Working Set = Μέγιστη ποσότητα μνήμης σετ εργασίας που χρησιμοποιείται από τη διαδικασία.
- Μνήμη (Private Work Set) = Υποσύνολο του συνόλου εργασίας που περιγράφει συγκεκριμένα το μέγεθος της μνήμης που χρησιμοποιεί μια διαδικασία και δεν είναι δυνατή η κοινή χρήση από άλλες διαδικασίες.
- Commit Size = Ποσότητα εικονικής μνήμης που προορίζεται για χρήση από μια διαδικασία.
Θα χρησιμοποιήσουμε μια εγκατάσταση του Firefox 4.0.1 εκτός του κουτιού με φορτωμένο μόνο το πρόσθετο Memory Fox. Στον Firefox, θα έχουμε ανοιχτές τις ακόλουθες καρτέλες και δεν θα κάνουμε τίποτα άλλο από την κύλιση προς τα πάνω και προς τα κάτω στις σελίδες που φορτώθηκαν.
Αφού περιμένει λίγα λεπτά για να ολοκληρωθεί η φόρτωση, η Διαχείριση εργασιών των Windows αναφέρει τα ακόλουθα για τον Firefox.
Τώρα όταν ξεκινάμε το πρόσθετο Memory Fox, ρίξτε μια ματιά στη δραματική μείωση του ποσού της αναφερόμενης χρήσης μνήμης.
Σημειώστε επίσης ότι ξεκινά μια νέα διαδικασία με αυτό το πρόσθετο, το οποίο χειρίζεται τις λειτουργίες της μνήμης.
Αφήνοντας το Firefox σε αδράνεια και παρακολουθώντας τις τιμές εργασίας και μνήμης, μπορείτε να δείτε ότι υπάρχει συνεχής αγώνας μεταξύ του Firefox που χρειάζεται ενεργή φυσική μνήμη και του πρόσθετου καθαριστή μνήμης για την ανάκτηση αυτής της μνήμης.
Εδώ είναι η αναφερόμενη χρήση μνήμης που λαμβάνεται κάθε λίγα δευτερόλεπτα ενώ ο Firefox παραμένει αδρανής.
Σημειώστε την πτώση στις τιμές εργασίας και μνήμης. Αυτό είναι το καθαριστικό μνήμης που ανακτά τη μνήμη του συστήματος.
Αφού ανεβείτε για λίγο, μπορείτε να δείτε μια άλλη πτώση.
Σαπουνάδα. Ξέπλυμα. Επαναλαμβάνω.
Επιπλέον, εάν δεν κάνετε τίποτα εκτός από την εναλλαγή καρτελών και μετακινηθείτε προς τα πάνω και προς τα κάτω στις σελίδες που έχετε φορτώσει, μπορείτε να δείτε τους αριθμούς να κυμαίνονται λίγο πιο δραστικά, κάτι που θα εξηγηθεί παρακάτω.
Ερμηνεία των αποτελεσμάτων
Όταν το κοιτάξετε για πρώτη φορά, θα σκεφτόσασταν, αυτό είναι υπέροχο. Αλλά ρίξτε μια ματιά στη στήλη Commit Size και μπορείτε να δείτε ότι αυτή η τιμή δεν αλλάζει ποτέ. Στην πραγματικότητα ανεβαίνει μόλις ξεκινήσετε το πρόσθετο καθαρισμού μνήμης.
Θυμηθείτε, η στήλη Commit Size αναφέρει την πραγματική ποσότητα μνήμης (φυσική + εικονική) που χρειάζονται τα Windows για να εκτελέσουν την αντίστοιχη εφαρμογή. Έτσι, στο παράδειγμά μας, το ~ 120 MB είναι δεσμευμένο και ενεργό στο σύστημα ειδικά για τον Firefox και βρίσκεται είτε στη φυσική μνήμη που δεν χρησιμοποιείται ή / και στο αρχείο σελίδας συστήματος. Επίσης, να θυμάστε ότι εάν το αρχείο σελίδας πρέπει να χρησιμοποιηθεί, υπάρχει αισθητή επίπτωση στην απόδοση, επειδή η εικονική μνήμη πρέπει να γραφτεί και να διαβαστεί από τον σκληρό δίσκο, ο οποίος είναι σημαντικά πιο αργός από τη φυσική μνήμη.
Ουσιαστικά, ο καθαριστής μνήμης μετακινεί την ενεργή φυσική μνήμη στην εικονική μνήμη (επειδή η ανάκτηση μνήμης πρέπει να πάει κάπου) Όταν συμβαίνει αυτό, ο Firefox δεν έχει πλέον τη μνήμη που χρειάζεται να λειτουργεί ενεργά, οπότε πρέπει να ζητήσει από τα Windows να μετακινήσουν τα αντίστοιχα δεδομένα που χρειάζονται από την εικονική μνήμη πίσω στη φυσική μνήμη. Και γύρω γύρω πηγαίνουμε…
Στην καλύτερη περίπτωση, αυτή η διαδικασία δεν κάνει τίποτα χρήσιμο καθόλου και στη χειρότερη περίπτωση προκαλεί τεράστιο αριθμό ανεπιθύμητων σφαλμάτων σελίδας, επειδή, πάλι, εάν τα Windows πρέπει να φέρουν το αρχείο σελίδας στο παιχνίδι, τότε θα υπάρξει μια αξιοσημείωτη επιτυχία. Αυτό μπορεί να συμβαίνει ειδικά σε ένα σύστημα που δεν έχει πολλή φυσική μνήμη (όπου σχεδόν όλη η εικονική μνήμη διατηρείται σε ένα αρχείο σελίδας), κάτι που είναι ειρωνικό γιατί αυτά είναι τα συστήματα για τα οποία έχει σχεδιαστεί ένα εργαλείο καθαρισμού μνήμης.
Το ηθικό αυτής της ιστορίας είναι πολύ απλά, οι καθαριστές μνήμης δεν κάνουν τίποτα παρά να μετακινούνται γύρω από τους αριθμούς. Κάθε λειτουργικό σύστημα θα ξέρει πώς να χειρίζεται τη μνήμη κατάλληλα, οπότε αφήστε τους να κάνουν τη δουλειά τους.
Διαχείριση της μνήμης του Firefox
Δεδομένου ότι έχουμε δείξει ότι τα πρόσθετα καθαρισμού μνήμης δεν κάνουν τίποτα χρήσιμο, τι μπορείτε να κάνετε για τη μεγάλη ποσότητα μνήμης που χρησιμοποιεί ο Firefox; Ακολουθούν μερικές προτάσεις:
- Αφαιρέστε τα πρόσθετα που δεν χρειάζεστε (ειδικά αυτά που καθαρίζουν μνήμη).
- Κρατήστε τον αριθμό των καρτελών που έχετε ανοιχτές στο ελάχιστο.
- Περιοδικά κλείστε τον Firefox και επανεκκινήστε τον.
- Προσθέστε περισσότερη μνήμη στο σύστημά σας.
- Μην ανησυχείτε για αυτό.