Maak een "RAMDisk" op uw Linux-distributie

RAMDisk icoon

Zoals u weet, is de toegangssnelheid van een geheugen erg belangrijk. Door de in het verleden ontstane knelpunten tussen magnetische geheugens en processors moest een sneller buffergeheugen worden ingebouwd, RAM​ Later, met de opkomst van microprocessors, kwam de cache nog sneller om een ​​buffer te bieden tussen de RAM- en de CPU-registers. Recentelijk zijn er SSD-harde schijven verschenen, die sneller zijn dan magnetisch-mechanische harde schijven omdat ze zijn gebaseerd op flash-geheugen.

Gigabyte dacht een paar jaar geleden om een ​​harde schijf met RAM te maken (een RAMDisk genaamd i-RAM), een zeer snel geheugen vergeleken met harde schijven, maar iets soortgelijks gebeurde met Ageia met zijn PhysX-kaart. Ze geleerden niet echt en verdwenen uiteindelijk van de markt, en nu met SSD's (en RAM-gebaseerde SSD's) is het nog minder logisch. Waar gaat het over? Welnu, het gebruikt in feite RAM-geheugen om gegevens op te slaan alsof het een harde schijf is, dus de toegang is veel sneller.

Nou, je hebt geen i-RAM of een SSD of iets dergelijks nodig om overdrachten en toegang tot de gewenste mappen, bestanden of programma's te versnellen. Daarvoor kunt u maak een RAMDisk op je Linux-distro​ De enige vereiste is voldoende RAM,> 4GB aanbevolen, om een ​​beetje te reserveren voor gebruik als een ultrasnelle "harde schijf". Zoiets als wat sommige GPU's voor laptops deden met Share Memory, maar in dit geval voor je gegevens.

Om dit geheugen te maken, moet je het geheugen dat je hebt berekenen, want als je het geheel of een groot deel ervan uitgeput raakt, heb je geen RAM meer voor de doeleinden waarvoor het is gemaakt en zal het stom zijn. Als u bijvoorbeeld 8 GB RAM heeft, kunt u 2 GB nemen voor de RAMDisk. Ik herhaal, zijn ding is dat je meer RAM hebt, als je 2 GB of 4 GB hebt, is het misschien niet de moeite waard ... (onthoud in "size =" geef de grootte op, in mijn voorbeeld heb ik gekozen voor 1024 MB, dat wil zeggen, 1GB, of u kunt ook "G" gebruiken in plaats van "M" om het in GB op te geven) Zodra u dit weet, gaan we aan de slag met de volgende stappen vanaf uw terminal:

mkdir /tmp/ramdisk

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

Nu heb je 1GB gereserveerd in je RAM, dus je kunt alles wat je wilt toevoegen aan de ramdisk-directory die we hebben gemaakt. Doe prestatietests en u zult zien hoe het is sneller alles wat je erin hebt ... Als je wilt, kun je de partitie in je RAM maken met een ander bestandssysteem dan tmpfs, zoals ext4 of ramfs.

En als je wilt dat de montage-input blijft… Wees voorzichtig !! De gegevens die u hier opslaat als u de pc uitschakelt of opnieuw opstart, gaan verloren, maar de invoer blijft pzodat u de partitie niet bij elke start hoeft aan te maken met de volgende truc om het toe te voegen aan de partitietabel (fstab) zodat het automatisch wordt aangemaakt (gebruik je favoriete teksteditor om de invoer te bewerken: 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"

BELANGRIJK: Onthoud dat uw gegevens verdwijnen wanneer u opnieuw opstart of afsluit computer, aangezien RAM vluchtig geheugen is. Dus wat u ook wilt bewaren, maak er een kopie van op een partitie op de harde schijf.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Mauricio zei

    Ik heb een vraag. Blijven de gegevens in het geheugen staan ​​als we de apparatuur uitschakelen? Ik zeg dit omdat RAM vluchtig is. Ik zou het op prijs stellen als u mij dat zou kunnen uitleggen.

    1.    Isaac PE zei

      Hallo,

      Je hebt gelijk, ik vergat in het artikel te vermelden dat het vluchtig is en elke keer dat je de computer opstart, zal worden verwijderd. Bedankt dat je me eraan herinnert dat ik het al heb toegevoegd. Het is iets heel belangrijks dat niet over het hoofd mag worden gezien, zodat niemand zijn gegevens verliest.

      Proost en hoop dat ik heb geholpen. Bedankt!!!

      1.    Mauricio zei

        Wat ik zag, is dat er programma's zijn die deze partitie uitvoeren. Wat deze programma's doen, is een afbeelding op de harde schijf maken van de gegevens in het RAM, zodat ze bij het opnieuw opstarten niet verloren gaan. Als het systeem dan opstart, worden, zoals ik het begrijp, de gegevens die op de harde schijf zijn opgeslagen in het RAM gedumpt, zodat we het opnieuw kunnen gebruiken. Bedankt voor het bericht en voor het snel reageren! Groeten!

  2.   Leopold Cantillo zei

    Interessant, het is de moeite waard om na te denken over enkele praktische toepassingen, een script dat deze RAM-partitie in het begin aanmaakt en interessante bestanden laadt, het zal niet nuttig zijn ... om een ​​database te plaatsen ...? je moet het onderwerp onderzoeken ... bedankt voor het briefje

  3.   sultanovich zei

    het werkt misschien alleen met het beschrijven van de fs. In mijn tests heeft het alleen als volgt gewerkt:

    mount -t tmpfs tmpfs / tmp / ramdisk -o grootte = 300m

  4.   Ismael zei

    Ongelooflijk, de grootsheid die kan worden gedaan met GNU / LINUX. ​

  5.   Jimmy olano zei

    Zullen we die RAMDisk gebruiken voor de "tmp" -partitie?

    Om in staat te zijn, zou het nodig zijn om code in te voeren, ik vraag niet naar de code die IK VRAAG OVER DE PRAKTIJK VAN HET ONDERWERP, OM HET TE GEBRUIKEN. Ik merk op dat voor databases, hoewel ik het me goed herinner, er al een optie is om databasetabellen in RAM-geheugen te ondersteunen, bijvoorbeeld: https: // dev.mysql.com/doc /refman/5.5/en/ storage-engine -setting. html

  6.   Anoniem zei

    Als je geluk hebt en de afgelopen 20 jaar hebt gesleept, kun je 64GiB RAM hebben en dus het virtuele hardeschijfbestand van VirtualBOX (of een andere virtuele machine) naar RAM kopiëren; Ik neem aan dat dit bestand niet meer dan 48GiB inneemt (om genoeg RAM vrij te houden voor Linux en voor de virtuele machine). Op deze manier vliegt de virtuele machine, en als u ook wilt dat de wijzigingen in de virtuele machine verloren gaan (onveranderlijkheid), hoeft u niet langer prestaties te verliezen bij het onveranderlijk maken van de virtuele harde schijf van de machine, want voordat u deze start, kopieert u het van de NVMe / SSD / HDD naar RAM en dan gaat bij het uitschakelen wat er in RAM zit verloren (precies wat in dit geval gewenst is dat je onveranderlijkheid wilt).

    Dus met zoveel RAM kun je de afbeelding van de harde schijf niet onveranderlijk en van een vaste grootte maken, waarbij je de maximaal mogelijke prestaties bij de toegang verkrijgt, dat samen met het feit dat de harde schijf zich in het RAM zal bevinden, het een echte vreugde bij het omgaan met virtuele machines (slechts één snatch tegelijk).

    Dat wanneer u klaar bent met het gebruik van de virtuele machine, u de staat van de virtuele harde schijf wilt behouden, aangezien deze van het RAM naar de NVMe / SSD / HDD wordt gekopieerd.

    Dat ik heb gezien dat er al enkele NVMe zijn die in staat zijn om te lezen met snelheden van iets meer dan 5GiB / s (ja, vijf gigabytes per seconde bij het lezen) en dat het gebruik van slechts één (in RAID0 of iets dergelijks nog sneller zou zijn), om te kopiëren de 48GiB virtuele harde schijf van het naar RAM duurt slechts ongeveer tien seconden, olé!
    Door nadelen bij het uitvoeren van het tegenovergestelde proces (van RAM naar NVMe) zijn de snelste die ik tot nu toe heb gezien iets meer dan 3GiB / s schriftelijk (ja, drie gigabytes per seconde bij schrijven), dus het opslaan van het beeld van 48GiB virtueel hard rijden van RAM naar NVMe duurt slechts ongeveer achttien seconden, opnieuw een enorme olé!

    We gaan een van de snelste NVMe en 64GiB RAM hebben met Linux en een virtuele machine met bijvoorbeeld Windows 10, het is nogal een pass als de RAM wordt gebruikt om de harde schijf van de virtuele machine te hosten.

    En nu het cadeau voor Linux ... er is al een pakket genaamd "ramroot" (het lijkt tenminste dat voor Arch-gebaseerde distributies) dat tijdens het opstarten verantwoordelijk is voor het kopiëren van de volledige root van het Linux-systeem naar RAM en verder gaat met opstarten van RAM, waarmee we ook onveranderlijkheid verkrijgen op de Linux die we gebruiken, om nog maar te zwijgen van het feit dat het vanuit RAM zal draaien, wat de opstarttijd enigszins zal verlengen.

    Als degene die dit leest de Linux-distributies kent die kunnen worden opgestart vanaf CD / USB die tijdens het opstarten naar RAM worden gekopieerd (zoals SystemRescueCD, enz.), Zullen ze de voordelen kennen die het biedt: het begint altijd hetzelfde, het gaat altijd zo snel als het kan omdat alles in RAM is, wordt er niets naar de fysieke schijven geschreven tijdens het opstarten of tijdens het gebruik van Linux (iets heel handig om de levensduur van de SSD te verlengen, persoonlijk in minder dan een maand en met minder dan een terabyte geschreven, zijn sommige SSD's al vertrokken me aan het werk, in het bijzonder 120GB van het merk KingDian), behalve natuurlijk als we iets mounten in lezen en schrijven en daar iets opslaan, dit combineren met de virtuele machine, het systeem 'vliegt' in schijftoegang, aangezien iedereen naar het RAM gaat.

    Het hebben van alle Linux in het RAM-geheugen verlengt de levensduur van SSD's en NVMe aanzienlijk, aangezien er niets of bijna niets naar wordt geschreven tijdens het opstarten en eenmaal opgestart helemaal niets, tenzij we het zelf doen.

    Mijn tests zijn uitgevoerd op een Ryzen 7 2700X (4.35 GHz met 8 cores en 16 threads) met 64GiB DDR4 3200MHz en 1050GiB NVidia 4 Ti Graphics.

    Opmerking: er zijn moederborden die zelfs 1 TB RAM ondersteunen en microfoons met 64 threads zoals de ThreadRipper 2, enz.

  7.   Marcos zei

    Uw opmerking is erg interessant, maar we moeten niet overdrijven met het nodige RAM-geheugen: ik heb een Windows 10 VDI-afbeelding die slechts 13 GB weegt, met 14 GB RAM zou het met volledig gemak werken.

    Ik ben niet erg duidelijk over het monteren van het hele besturingssysteem in RAM, dat het niet een beetje te veel is. Als je je SSD hebt geformatteerd in BTRFS met on-the-fly compressie ingeschakeld (er worden veel minder gegevens naar de schijf geschreven), omdat bijna alleen gegevens naar de systeempartitie worden geschreven wanneer pakketten worden geïnstalleerd (wat we uiteraard willen dat het blijft in de systeempartitie). SSD / schijf), configuratiebestanden worden gewijzigd (tekstbestanden van verwaarloosbare grootte, en de LZO-compressie van BTRFS laat ze in een nog meer verwaarloosbare grootte achter) en weinig anders, omdat het een beetje lijkt om vliegen mee te doden kanonschoten; houd er rekening mee dat alle moderne distro's motan / tmp in RAM als de gebruiker meer dan 4 GB heeft, ik denk aan RAM, dus de SSD / schijf lijdt niet de minste slijtage door veel tijdelijke bewerkingen die worden geschreven, en dat was wat meer stok die ik een paar jaar geleden in de / partitie heb geplaatst.

    Een ander ding is het huis, daar worden constant gegevens geschreven: caches, instellingen die van tijd tot tijd veranderen als we een venster hebben verplaatst, downloads, enz. Daar zou het interessant kunnen zijn om alleen in RAM te werken en alleen naar schijf te synchroniseren als we het echt willen, hoewel er een tool zou moeten zijn (ik weet niet of die er zal zijn, het zou me niet verbazen, maar tot ik je opmerking heb gelezen, heb ik niet over het onderwerp nagedacht) om de gebruiker eraan te herinneren wanneer ze de sessie gaan sluiten dat er veranderingen in hun / huis zijn zonder op te slaan of ons zelfs te vragen of we ze naar schijf willen synchroniseren, omdat we zeker de helft van de tijd zouden vergeten en we zouden de computer uitzetten om onszelf een halve seconde later aan de leiding te helpen.

    "Er zijn moederborden die zelfs 1 TB RAM ondersteunen en microfoons met 64 threads zoals de ThreadRipper 2, enz."

    Nu al, en racks die nog steeds veel meer ondersteunen, maar laat ons niet gaan xD. Laten we teruggaan naar de planeet aarde waar mensen zich nauwelijks een team van € 800 kunnen veroorloven ...

    Groeten.

  8.   Marcos zei

    "Ik heb een VDI-afbeelding van Windows 10 die slechts 13 GB weegt, en met 14 GB RAM zou het heel gemakkelijk werken."
    Sorry, ik bedoelde 24 GB. Ging mijn vinger naar de volgende toets?