Δημιουργήστε ένα "RAMDisk" στη διανομή Linux

Εικονίδιο RAMDisk

Όπως γνωρίζετε, η ταχύτητα πρόσβασης μιας μνήμης είναι πολύ σημαντική. Τα σημεία συμφόρησης που δημιουργήθηκαν στο παρελθόν μεταξύ μαγνητικών αναμνήσεων και επεξεργαστών σήμαινε ότι έπρεπε να συμπεριληφθεί μια ταχύτερη μνήμη buffer, ΕΜΒΟΛΟ. Αργότερα, με την πρόοδο των μικροεπεξεργαστών ήρθε η προσωρινή μνήμη, ακόμη πιο γρήγορα για να προσφέρει ένα buffer μεταξύ της μνήμης RAM και των CPU. Πιο πρόσφατα εμφανίστηκαν σκληροί δίσκοι SSD, οι οποίοι είναι ταχύτεροι από τους μαγνητικούς-μηχανικούς σκληρούς δίσκους καθώς βασίζονται στη μνήμη flash.

Ο Gigabyte σκέφτηκε πριν από λίγα χρόνια να δημιουργήσει έναν σκληρό δίσκο με RAM (ένα RAMDisk που ονομάζεται i-RAM), μια πολύ γρήγορη μνήμη σε σύγκριση με τους σκληρούς δίσκους, αλλά κάτι παρόμοιο συνέβη με αυτό που συνέβη στην Ageia με την κάρτα PhysX. Δεν πήγαν πραγματικά και κατέληξαν να εξαφανίζονται από την αγορά, και τώρα με SSD (και SSD που βασίζονται σε RAM) έχει ακόμη λιγότερο νόημα. Περί τίνος πρόκειται? Λοιπόν, βασικά χρησιμοποιεί μνήμη RAM για την αποθήκευση δεδομένων σαν να ήταν σκληρός δίσκος, επομένως η πρόσβαση είναι πολύ πιο γρήγορη.

Λοιπόν, δεν χρειάζεστε i-RAM ή SSD ή κάτι παρόμοιο για να επιταχύνετε τις μεταφορές και την πρόσβαση στους καταλόγους, τα αρχεία ή τα προγράμματα που θέλετε. Για αυτό μπορείτε δημιουργήστε ένα RAMDisk στη διανομή Linux. Η μόνη απαίτηση είναι να υπάρχει αρκετή μνήμη RAM,> 4 GB που συνιστάται, για να διατηρήσετε λίγο μέρος για να χρησιμοποιηθεί ως εξαιρετικά γρήγορος "σκληρός δίσκος". Κάτι σαν αυτό που έκαναν ορισμένες GPU για φορητούς υπολογιστές με το Share Memory, αλλά σε αυτήν την περίπτωση για τα δεδομένα σας.

Για να δημιουργήσετε αυτήν τη μνήμη, πρέπει να υπολογίσετε τη μνήμη που έχετε, καθώς εάν εξαντλήσετε όλο ή μεγάλο μέρος της, θα εξαντληθεί η μνήμη RAM για τους σκοπούς για τους οποίους δημιουργήθηκε και θα είναι ανόητο. Για παράδειγμα, εάν έχετε 8 GB μνήμης RAM, θα μπορούσατε να λάβετε 2 GB για το RAMDisk. Επαναλαμβάνω, το πράγμα του είναι ότι έχετε περισσότερη μνήμη RAM, αν έχετε 2 GB ή 4 GB μπορεί να μην αξίζει τον κόπο ... (θυμηθείτε στο "size =" καθορίστε το μέγεθος, στο παράδειγμά μου επέλεξα 1024MB, δηλαδή, 1 GB, ή μπορείτε επίσης να χρησιμοποιήσετε το "G" αντί του "M" για να το καθορίσετε σε GB) Μόλις το γνωρίζετε, θα δουλέψουμε με τα ακόλουθα βήματα από το τερματικό σας:

mkdir /tmp/ramdisk

mount -t tmpfs none /tmp/randisk -o size=1024M

Τώρα έχετε δεσμευμένο 1 GB στη μνήμη RAM σας, ώστε να μπορείτε να προσθέσετε ό, τι θέλετε στον κατάλογο ramdisk που έχουμε δημιουργήσει. Κάντε δοκιμές απόδοσης και θα δείτε πώς είναι γρηγορότερο ό, τι έχετε σε αυτό ... Αν θέλετε, μπορείτε να δημιουργήσετε το διαμέρισμα στη μνήμη RAM σας με άλλο σύστημα αρχείων εκτός από tmpfs, όπως ext4 ή ramfs.

Και αν θέλετε να παραμείνει η είσοδος μοντάζ… Προσέξτε !! Τα δεδομένα που αποθηκεύετε εδώ εάν απενεργοποιήσετε τον υπολογιστή ή κάνετε επανεκκίνηση θα χαθούν, αλλά η είσοδος θα παραμείνει σελέτσι ώστε να μην χρειάζεται να δημιουργείτε το διαμέρισμα με κάθε εκκίνηση με το ακόλουθο τέχνασμα για να το προσθέσετε στον πίνακα διαμερισμάτων (fstab) έτσι ώστε να δημιουργείται αυτόματα (χρησιμοποιήστε το αγαπημένο σας πρόγραμμα επεξεργασίας κειμένου για να επεξεργαστείτε την είσοδο: vi, nano, gedit ...):

gedit /etc/fstab

Y en el fichero de texto que se abre crea la siguiente entrada sin comillas "tmpfs /mnt/ramdisk tmpfs nodev, nosuid, noexec, nodiratime, size=1024M 0 0"

ΣΗΜΑΝΤΙΚΟ: Να θυμάστε ότι τα δεδομένα σας θα εξαφανιστούν όταν κάνετε επανεκκίνηση ή τερματισμό υπολογιστή, δεδομένου ότι η μνήμη RAM είναι πτητική μνήμη. Έτσι, ό, τι θέλετε να κρατήσετε, δημιουργήστε ένα αντίγραφο σε ένα διαμέρισμα σκληρού δίσκου.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   Mauricio dijo

    Έχω μια ερώτηση, μόλις κλείσουμε τον εξοπλισμό, τα δεδομένα θα συνεχίσουν να βρίσκονται στη μνήμη; Το λέω αυτό δεδομένου ότι η μνήμη RAM είναι ασταθής. Θα εκτιμούσα αν μπορούσατε να μου το εξηγήσετε αυτό.

    1.    Ισαάκ ΠΕ dijo

      Γεια σας,

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

      Ευθυμίες και ελπίζω να βοήθησα. Ευχαριστώ!!!

      1.    Mauricio dijo

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

  2.   Λεοπόλντο Καντίλο dijo

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

  3.   Σουλτάνοβιτς dijo

    μπορεί να λειτουργήσει μόνο με λεπτομέρειες του fs. Στις δοκιμές μου λειτούργησε μόνο ως εξής:

    mount -t tmpfs tmpfs / tmp / ramdisk -o μέγεθος = 300m

  4.   Ισμαήλ dijo

    Απίστευτο, το μεγαλείο που μπορεί να γίνει με το GNU / LINUX. :)

  5.   Τζίμι Όλανο dijo

    Τι γίνεται με το RAMDisk για το διαμέρισμα "tmp";

    Όντας σε θέση, θα μπορούσα, θα είναι απαραίτητο να βάλω κώδικα, δεν ζητώ τον κωδικό ΡΩΤΗΣΤΕ ΓΙΑ ΤΗΝ ΠΡΑΚΤΙΚΟΤΗΤΑ ΤΟΥ ΘΕΜΑΤΟΣ, ΓΙΑ ΤΗ ΧΡΗΣΗ ΤΟΥ. Σημειώνω ότι για βάσεις δεδομένων, αν και θυμάμαι σωστά, υπάρχει ήδη μια επιλογή για την υποστήριξη πινάκων βάσης δεδομένων στη μνήμη RAM, για παράδειγμα: https: // dev.mysql.com/doc /refman/5.5/en/ storage-engine-setting. html

  6.   ανώνυμος dijo

    Εάν είστε τυχεροί και σύρετε τα τελευταία 20 χρόνια, θα έχετε τη δυνατότητα να έχετε 64GiB μνήμης RAM και έτσι θα μπορείτε να αντιγράψετε το αρχείο εικονικού σκληρού δίσκου του VirtualBOX (ή οποιασδήποτε άλλης εικονικής μηχανής) στη μνήμη RAM. Υποθέτω ότι αυτό το αρχείο δεν καταλαμβάνει περισσότερα από 48GiB (για να αφήσει αρκετή δωρεάν μνήμη RAM για Linux και για την εικονική μηχανή). Με αυτόν τον τρόπο πετάει η εικονική μηχανή και αν θέλετε επίσης να χαθούν οι αλλαγές στην εικονική μηχανή (αμετάβλητη) δεν θα χρειάζεται πλέον να χάσετε την απόδοση καθιστώντας αμετάβλητο τον εικονικό σκληρό δίσκο του μηχανήματος, γιατί πριν το ξεκινήσετε αντιγράφετε από το NVMe / SSD / HDD στη μνήμη RAM και, στη συνέχεια, όταν απενεργοποιείται αυτό που υπάρχει στη μνήμη RAM, χάνεται (ακριβώς αυτό που είναι επιθυμητό σε αυτήν την περίπτωση που θέλετε αμετάβλητο)

    Έτσι, με τόση μνήμη RAM μπορείτε να κάνετε την εικόνα του σκληρού δίσκου να είναι αμετάβλητη και σταθερού μεγέθους, επιτυγχάνοντας τη μέγιστη δυνατή απόδοση στην πρόσβαση, που μαζί με το γεγονός ότι ο εν λόγω σκληρός δίσκος θα είναι στη μνήμη RAM, καθιστά πραγματικό απολαμβάνει κατά το χειρισμό εικονικών μηχανών (μόνο ένα αρπαγή κάθε φορά).

    Ότι όταν ολοκληρώσετε τη χρήση της εικονικής μηχανής, θέλετε να διατηρήσετε την κατάσταση του εικονικού σκληρού δίσκου, καθώς αντιγράφεται από τη μνήμη RAM στο NVMe / SSD / HDD.

    Ότι έχω δει ότι υπάρχουν ήδη κάποια NVMe που είναι ικανά να διαβάζουν σε ταχύτητες λίγο πάνω από 5GiB / s (ναι, πέντε gigabyte ανά δευτερόλεπτο στην ανάγνωση) και ότι η χρήση μόνο ενός (σε RAID0 ή παρόμοια θα ήταν ακόμη πιο γρήγορη), για αντιγραφή η εικονική εικόνα σκληρού δίσκου 48GiB από αυτήν στη μνήμη RAM διαρκεί μόνο περίπου δέκα δευτερόλεπτα, olé!
    Με μειονεκτήματα όταν κάνουμε την αντίθετη διαδικασία (από RAM σε NVMe), ο γρηγορότερος που έχω δει για τώρα είναι λίγο παραπάνω από 3GiB / s γραπτώς (ναι, τρία gigabyte ανά δευτερόλεπτο γραπτώς), εξοικονομώντας έτσι την εικόνα των 48GiB η οδήγηση από τη RAM στο NVMe διαρκεί μόνο περίπου δεκαοκτώ δευτερόλεπτα, και πάλι μια τεράστια olé!

    Θα έχουμε ένα από τα ταχύτερα NVMe και 64GiB μνήμης RAM με Linux και μια εικονική μηχανή με για παράδειγμα τα Windows 10, είναι αρκετά καλό εάν η μνήμη RAM χρησιμοποιείται για τη φιλοξενία του σκληρού δίσκου της εικονικής μηχανής.

    Και τώρα το δώρο για Linux ... υπάρχει ήδη ένα πακέτο που ονομάζεται "ramroot" (τουλάχιστον φαίνεται ότι για διανομές με βάση το Arch) που κατά τη διάρκεια της εκκίνησης είναι υπεύθυνη για την αντιγραφή ολόκληρης της ρίζας του συστήματος Linux στη μνήμη RAM και τη συνέχιση της εκκίνησης από τη RAM, με την οποία λαμβάνουμε επίσης αμετάβλητο στο Linux που χρησιμοποιούμε, για να μην αναφέρουμε ότι θα τρέχει από τη μνήμη RAM, με κόστος να αυξηθεί κάπως ο χρόνος εκκίνησης.

    Εάν όποιος το διαβάσει γνωρίζει τις διανομές Linux με δυνατότητα εκκίνησης από CD / USB που αντιγράφονται στη μνήμη RAM κατά την εκκίνηση (όπως το SystemRescueCD κ.λπ.), θα γνωρίζουν τα οφέλη που παρέχει: Ξεκινά πάντα το ίδιο, πάντοτε όσο πιο γρήγορα γίνεται επειδή όλα είναι σε μνήμη RAM, δεν γράφεται τίποτα στους φυσικούς δίσκους κατά την εκκίνηση ή κατά τη χρήση του Linux (κάτι πολύ χρήσιμο για την επέκταση της διάρκειας ζωής του SSD, προσωπικά σε λιγότερο από ένα μήνα και με λιγότερα από ένα terabyte, ορισμένα SSD έχουν ήδη φύγει για να δουλέψω, ειδικά 120 GB της μάρκας KingDian), εκτός από προφανώς αν τοποθετήσουμε κάτι σε ανάγνωση και εγγραφή και να αποθηκεύσουμε κάτι εκεί, συνδυάζοντάς το με την εικονική μηχανή, το σύστημα «πετάει» σε προσβάσεις δίσκου, αφού όλοι πηγαίνουν στη μνήμη RAM.

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

    Οι δοκιμές μου ήταν σε Ryzen 7 2700X (4.35GHz με 8 πυρήνες και 16 σπειρώματα) με 64GiB DDR4 3200MHz και 1050GiB NVidia 4 Ti Graphics.

    Σημείωση: Υπάρχουν μητρικές κάρτες που υποστηρίζουν ακόμη και 1TiB RAM και μικρόφωνα με 64 νήματα όπως το ThreadRipper 2 κ.λπ.

  7.   Μάρκος dijo

    Το σχόλιό σας είναι πολύ ενδιαφέρον, αλλά δεν πρέπει να υπερβάλουμε με την απαραίτητη μνήμη RAM: Έχω μια εικόνα Windows 10 VDI που ζυγίζει μόνο 13 GB, με 14 GB μνήμης RAM θα ​​λειτουργούσε με απόλυτη ευκολία.

    Δεν είμαι πολύ ξεκάθαρος για την τοποθέτηση ολόκληρου του λειτουργικού συστήματος στη μνήμη RAM ότι δεν είναι πάρα πολύ. Εάν έχετε διαμορφώσει το SSD σε BTRFS με ενεργοποιημένη τη συμπίεση εν κινήσει (σημαντικά λιγότερα δεδομένα γράφονται στη μονάδα δίσκου), καθώς σχεδόν μόνο δεδομένα εγγράφονται στο διαμέρισμα του συστήματος κατά την εγκατάσταση πακέτων (τα οποία προφανώς θέλουμε να παραμείνουμε στο SSD / disk), τα αρχεία διαμόρφωσης τροποποιούνται (αρχεία κειμένου αμελητέου μεγέθους και η συμπίεση LZO του BTRFS τα αφήνει σε ακόμη πιο αμελητέο μέγεθος) και λίγο άλλο, γιατί μου φαίνεται να σκοτώνω μύγες με πυροβολισμούς. λάβετε υπόψη ότι όλες οι σύγχρονες διανομές motan / tmp στη μνήμη RAM αν ο χρήστης έχει περισσότερα από 4 GB, νομίζω ότι η μνήμη RAM, οπότε ο SSD / δίσκος δεν υποφέρει από τη λιγότερη φθορά λόγω πολλών προσωρινών λειτουργιών που γράφονται, κάτι που ήταν περισσότερο ζαχαροκάλαμο που έβαλα στο / διαμέρισμα πριν από μερικά χρόνια.

    Ένα άλλο πράγμα είναι το σπίτι, υπάρχουν δεδομένα που γράφονται συνεχώς: κρυφές μνήμες, ρυθμίσεις που αλλάζουν κατά καιρούς εάν έχουμε μετακινήσει ένα παράθυρο, λήψεις κ.λπ. Εκεί θα μπορούσε να είναι ενδιαφέρον να δουλεύεις μόνο στη μνήμη RAM και να συγχρονίζεις στο δίσκο μόνο αν θέλουμε πραγματικά, αν και πρέπει να υπάρχει κάποιο εργαλείο (δεν ξέρω αν θα υπάρξει, δεν θα εκπλαγώ, αλλά μέχρι να διαβάσω το σχόλιο που δεν το έχω σκεφτεί.) για να υπενθυμίσω στον χρήστη όταν πρόκειται να κλείσει τη συνεδρία ότι υπάρχουν αλλαγές στο / σπίτι τους χωρίς αποθήκευση ή ακόμη και να μας ρωτήσετε αν θέλουμε να τις συγχρονίσουμε στο δίσκο, γιατί σίγουρα το μισό χρόνο θα ξεχνούσαμε και θα κλείσουμε τον υπολογιστή για να βοηθήσουμε τον εαυτό μας στο προβάδισμα μισό δευτερόλεπτο αργότερα.

    "Υπάρχουν μητρικές κάρτες που υποστηρίζουν ακόμη και 1TiB RAM και μικρόφωνα με 64 νήματα όπως το ThreadRipper 2 κ.λπ."

    Ήδη, και ράφια που εξακολουθούν να υποστηρίζουν πολύ περισσότερο, αλλά μην μας αφήσετε να πάμε xD. Ας επιστρέψουμε στον πλανήτη Γη όπου οι άνθρωποι δεν μπορούν να αντέξουν οικονομικά μια ομάδα 800 € ...

    Χαιρετισμούς.

  8.   Μάρκος dijo

    "Έχω μια εικόνα VDI των Windows 10 που ζυγίζει μόνο 13 GB, με 14 GB μνήμης RAM θα ​​λειτουργούσε με απόλυτη ευκολία."
    Συγγνώμη, εννοούσα 24 GB. Πήγε το δάχτυλό μου στο επόμενο κλειδί;