Το WSL 2 διαθέτει πλέον δυνατότητα ανάκτησης μνήμης
Με την κυκλοφορία του Windows 10 Build 18917, η Microsoft παρουσίασε το WSL 2 στους Insiders, το υποσύστημα Windows για Linux 2. Αποστέλλει έναν πραγματικό πυρήνα Linux με Windows που θα κάνει δυνατή την πλήρη συμβατότητα κλήσεων συστήματος. Αυτή είναι η πρώτη φορά που ένας πυρήνας Linux αποστέλλεται με Windows. Η έκδοση 19013 των Windows 10 προσθέτει μια άλλη εξαιρετική δυνατότητα WSL 2 - το Memory Reclaim, το οποίο επιτρέπει στο κεντρικό σύστημα να επαναχρησιμοποιήσει τη μνήμη που δεν χρειάζεται πλέον σε καμία διαδικασία Linux.
Διαφήμιση
Παλαιότερα, όταν οι ανάγκες μνήμης της Εικονικής Μηχανής (VM) WSL2 αυξάνονταν, είτε από τη ροή εργασιών σας είτε από στον πυρήνα του Linux, η συνολική μνήμη που εκχωρείται στο VM θα αυξηθεί επίσης με την κατανομή περισσότερης μνήμης από το πλήθος. Όμως, μόλις ολοκληρωθεί η ροή εργασίας, αυτή η μνήμη που δεν χρειάζεται πλέον από τη ροή εργασίας δεν θα απελευθερωθεί πίσω στον κεντρικό υπολογιστή. Τώρα με την ανάκτηση μνήμης στο WSL 2, όταν η μνήμη στο Linux δεν είναι πλέον απαραίτητη, μπορεί να αναφερθεί στον κεντρικό υπολογιστή όπου θα ελευθερωθεί και το WSL 2 VM σας θα συρρικνωθεί σε μέγεθος μνήμης.
Πριν:
Μετά:
Δείτε το παρακάτω βίντεο:
Πως δουλεύει
Αυτή η δυνατότητα τροφοδοτείται από ένα Ενημερωμένη έκδοση κώδικα του πυρήνα Linux που επιτρέπει την επιστροφή μικρών συνεχόμενων μπλοκ μνήμης στον κεντρικό υπολογιστή όταν δεν χρειάζονται πλέον στον επισκέπτη Linux. Η ομάδα WSL έχει ενημερώσει το Πυρήνας Linux στο WSL2 για να συμπεριλάβετε αυτήν την ενημερωμένη έκδοση κώδικα και τροποποιήθηκε το Hyper-V για την υποστήριξη αυτής της δυνατότητας αναφοράς σελίδας. Προκειμένου να επιστρέψει όσο το δυνατόν περισσότερη μνήμη στον κεντρικό υπολογιστή, το WSL συμπυκνώνει περιοδικά τη μνήμη για να διασφαλίσει ότι η ελεύθερη μνήμη είναι διαθέσιμη σε συνεχόμενα μπλοκ. Αυτό εκτελείται μόνο όταν η CPU σας είναι αδρανής. Μπορείτε να δείτε πότε συμβαίνει αυτό αναζητώντας το μήνυμα «WSL2: Performing memory compaction» μέσα στην έξοδο του dmesg
εντολή. Εάν είστε ισχυρός χρήστης, μπορείτε να διαμορφώσετε αυτήν τη συμπεριφορά επεξεργάζοντας τιμές στο .wslconfig. Παρακαλώ ελέγξτε το Σημειώσεις έκδοσης WSL 19013 για να δείτε αυτές τις επιλογές. Εναλλακτικά, εάν θέλετε να εκτελέσετε αυτήν την εντολή Linux με μη αυτόματο τρόπο, μπορείτε να εκτελέσετε την εντολή echo 1 > /proc/sys/vm/compact_memory
ως χρήστης root.
Μπορείτε να βρείτε περισσότερες τεχνικές λεπτομέρειες και παραδείγματα στο επίσημη ανάρτηση ιστολογίου.