Lag en "RAMDisk" på Linux-distribusjonen

RAMDisk-ikon

Som du vet er tilgangshastigheten til et minne veldig viktig. Flaskehalsene som ble generert tidligere mellom magnetiske minner og prosessorer gjorde at et raskere bufferminne måtte inkluderes, RAM. Senere, med fremgangen til mikroprosessorer, kom hurtigbufferen, enda raskere for å tilby en buffer mellom RAM og CPU-registerene. Nylig har SSD-harddisker dukket opp, som er raskere enn magnetisk-mekaniske harddisker, ettersom de er basert på flashminne.

Gigabyte tenkte for noen år siden å lage en harddisk med RAM (en RAMDisk kalt i-RAM), et veldig raskt minne i forhold til harddisker, men noe lignende skjedde med det som skjedde med Ageia med PhysX-kortet. De gelte egentlig ikke og endte opp med å forsvinne fra markedet, og nå med SSD-er (og RAM-baserte SSD-er) gir det enda mindre mening. Hva handler det om? Vel, det bruker i utgangspunktet RAM-minne for å lagre data som om det var en harddisk, så tilgangen er mye raskere.

Vel, du trenger ikke en i-RAM eller en SSD, eller noe sånt for å øke hastigheten på overføring og tilgang til katalogene, filene eller programmene du ønsker. For det kan du lag en RAMDisk på din Linux distro. Det eneste kravet er å ha nok RAM,> 4 GB anbefalt, for å reservere litt av det til bruk som en ultra-rask "harddisk". Noe som hva noen GPUer for bærbare datamaskiner gjorde med Share Memory, men i dette tilfellet for dataene dine.

For å lage dette minnet må du beregne minnet du har, siden hvis du tømmer hele eller en stor del av det, vil du gå tom for RAM for de formålene det ble opprettet for, og det vil være dumt. For eksempel, hvis du har 8 GB RAM, kan du ta 2 GB for RAMDisk. Jeg gjentar, hans ting er at du har mer RAM, hvis du har 2 GB eller 4 GB, er det kanskje ikke verdt det ... (husk i "size =" spesifiser størrelsen, i mitt eksempel har jeg valgt 1024 MB, det vil si 1 GB, eller du kan også bruke "G" i stedet for "M" for å spesifisere det i GB) Når du vet dette, kommer vi til å jobbe med følgende trinn fra terminalen din:

mkdir /tmp/ramdisk

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

Nå har du 1 GB reservert i RAM-en din, slik at du kan legge til hva du vil i ramdisk-katalogen vi har opprettet. Gjør ytelsestester og du vil se hvordan det er raskere alt du har i det ... Hvis du vil, kan du opprette partisjonen i RAM-en din med et annet filsystem enn tmpfs, for eksempel ext4 eller ramfs.

Og hvis du vil at montasjeinnspillene skal forbli ... Vær forsiktig! Dataene du lagrer her hvis du slår av PCen eller starter på nytt, går tapt, men inngangen forblir sslik at du ikke trenger å opprette partisjonen med hver oppstart med følgende triks for å legge den til partisjonstabellen (fstab) slik at den opprettes automatisk (bruk din favoritt teksteditor for å redigere inngangen: 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"

VIKTIG: Husk at dataene dine vil forsvinne når du starter på nytt eller stenger datamaskin, siden RAM er flyktig minne. Så hva du vil beholde, lag en kopi av den på en harddiskpartisjon.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   mauricio sa

    Jeg har et spørsmål. Når vi slår av utstyret, vil dataene fortsatt være i minnet? Jeg sier dette siden RAM er flyktig. Jeg vil sette pris på om du kunne forklare det for meg.

    1.    Isaac PE sa

      Hei,

      Du har rett, jeg glemte å kommentere i artikkelen at det å være flyktig vil bli slettet hver gang du starter datamaskinen. Takk for at du minner meg om, jeg har allerede lagt den til. Det er noe veldig viktig som ikke skal overses slik at ingen mister dataene sine.

      Skål og håper jeg hjalp. Takk!!!

      1.    mauricio sa

        Det jeg så er at det er programmer som gjør denne partisjonen. Hva disse programmene gjør er å lage et bilde på harddisken av dataene som er i RAM, slik at når vi starter på nytt, går de ikke tapt. Så når systemet starter, slik jeg forstår det, blir dataene som er lagret på harddisken dumpet i RAM slik at vi kan bruke det igjen. Takk for notatet og for å ha svart raskt! Hilsener!

  2.   Leopold Cantillo sa

    Interessant, det er å tenke på noen praktiske applikasjoner, et skript som oppretter denne RAM-partisjonen i begynnelsen og laster filer av interesse, det vil ikke være nyttig ... å sette en database ...? du må undersøke emnet ... takk for notatet

  3.   sultanovich sa

    det kan bare fungere med detaljer om fs. I testene mine har det bare fungert som følger:

    monter -t tmpfs tmpfs / tmp / ramdisk -o størrelse = 300m

  4.   Ismael sa

    Utrolig, storslagenheten som kan gjøres med GNU / LINUX. :)

  5.   Jimmy Olano sa

    Hva med at vi bruker den RAMDisk til "tmp" -partisjonen?

    For å være i stand, det kunne det, vil det være nødvendig å sette kode, jeg ber ikke om koden JEG SPØR OM FAGETS PRAKTISKE EGEN, FOR Å BRUKE DET. Jeg bemerker at for databaser, selv om jeg husker riktig, er det allerede et alternativ for å støtte databasetabeller i RAM, eksempel: https: // dev.mysql.com/doc /refman/5.5/en/ storage-engine -setting.html

  6.   Anonym sa

    Hvis du er heldig og dratt de siste 20 årene, vil du kunne ha 64 GB RAM og dermed kunne kopiere den virtuelle harddiskfilen til VirtualBOX (eller en hvilken som helst annen virtuell maskin) til RAM; Jeg antar at denne filen ikke opptar mer enn 48 GB (for å gi nok ledig RAM for Linux og for den virtuelle maskinen). På denne måten flyr den virtuelle maskinen, og hvis du også vil at endringene i den virtuelle maskinen skal gå tapt (uforanderlighet), trenger du ikke lenger å miste ytelsen for å gjøre maskinens virtuelle harddisk uforanderlig, fordi du kopierer før du starter den. det fra NVMe / SSD / HDD til RAM og deretter slå av det som er i RAM, går tapt (akkurat det som er ønsket i dette tilfellet, som er uforanderlighet).

    Så med så mye RAM kan du gjøre bildet av harddisken ikke uforanderlig og med fast størrelse, og oppnå maksimal ytelse i tilgangen, at sammen med det faktum at nevnte harddisk vil være i RAM, gjør det noe ekte gleder seg når du håndterer virtuelle maskiner (bare ett snatch om gangen).

    At når du er ferdig med å bruke den virtuelle maskinen, vil du bevare tilstanden til den virtuelle harddisken, siden den er kopiert fra RAM til NVMe / SSD / HDD.

    At jeg har sett at det allerede er noen NVMe som er i stand til å lese i hastigheter litt over 5 GHz / s (ja, fem gigabyte per sekund i lesing), og som bare bruker en (i RAID0 eller lignende vil være enda raskere), for kopiering 48GiB virtuell harddiskbilde fra den til RAM tar bare omtrent ti sekunder, olé!
    Av ulemper når du gjør den motsatte prosessen (fra RAM til NVMe), er den raskeste jeg har sett for øyeblikket litt mer enn 3GiB / s skriftlig (ja, tre gigabyte per sekund skriftlig), så sparer du bildet av 48GiB virtuelt hardt stasjonen fra RAM til NVMe tar bare omtrent atten sekunder, igjen en enorm olé!

    Vi skal ha en av de raskeste NVMe og 64GiB RAM med Linux og en virtuell maskin med for eksempel Windows 10, det er ganske pass hvis RAM brukes til å være vert for harddisken til den virtuelle maskinen.

    Og nå gaven til Linux ... det er allerede en pakke som heter "ramroot" (i det minste virker det som for Arch-baserte distribusjoner) som under oppstart er ansvarlig for å kopiere hele roten til Linux-systemet til RAM og fortsette å starte fra RAM, som vi også oppnår uforanderlighet på Linux som vi bruker, for ikke å nevne at den vil kjøre fra RAM, på bekostning av å øke oppstartstiden noe.

    Hvis den som leser dette, kjenner Linux-distribusjoner som kan startes fra CD / USB som kopieres til RAM under oppstart (for eksempel SystemRescueCD, osv.), Vil de vite fordelene det gir: Det starter alltid det samme, det går alltid så fort det kan fordi alt er i RAM, blir det ikke skrevet noe til de fysiske diskene under oppstart eller mens du bruker Linux (noe veldig nyttig for å forlenge SSD-ens levetid, personlig på mindre enn en måned og med mindre enn en terabyte skrevet, har noen SSD-er allerede gått meg til å jobbe, spesielt 120 GB av KingDian-merket), bortsett fra åpenbart hvis vi monterer noe i lese og skrive og lagre noe der, og kombinere dette med den virtuelle maskinen, "flyr" systemet i diskadganger, siden alle går til RAM.

    Å ha all Linux i RAM forlenger levetiden til SSD-er og NVMe sterkt, siden ingenting eller nesten ingenting er skrevet til dem under oppstart og en gang startet absolutt ingenting med mindre vi selv gjør det.

    Testene mine har vært på en Ryzen 7 2700X (4.35 GHz med 8 kjerner og 16 tråder) med 64GiB DDR4 3200MHz og 1050GiB NVidia 4 Ti-grafikk.

    Merk: Det er hovedkort som til og med støtter 1 TB RAM og mikrofoner med 64 tråder som ThreadRipper 2, etc.

  7.   Marcos sa

    Kommentaren din er veldig interessant, men vi må ikke overdrive med nødvendig RAM: Jeg har et Windows 10 VDI-bilde som bare veier 13 GB, med 14 GB RAM vil det fungere med letthet.

    Jeg er ikke veldig klar over å montere hele operativsystemet i RAM at det ikke er litt for mye. Hvis du har SSD-en din formatert i BTRFS med on-the-fly komprimering aktivert (det skrives betydelig mindre data til stasjonen), siden nesten bare data skrives til systempartisjonen når pakker er installert (som vi åpenbart vil være i SSD / disk), konfigurasjonsfiler endres (tekstfiler av ubetydelig størrelse, og LZO-komprimering av BTRFS etterlater dem i en enda mer ubetydelig størrelse) og lite annet, fordi det ser ut til at jeg dreper fluer med kanonskudd; husk at alle moderne distros motan / tmp i RAM hvis brukeren har mer enn 4 GB, jeg tenker på RAM, så SSD / disken lider ikke minst på grunn av mange midlertidige operasjoner som er skrevet, noe som var hva mer stokk jeg la i / partisjonen for noen år siden.

    En annen ting er hjemmet, der blir det hele tiden skrevet data: cacher, innstillinger som endres fra tid til annen hvis vi har flyttet et vindu, nedlastinger osv. Der kan det være interessant å bare jobbe i RAM og synkronisere til disk bare hvis vi virkelig vil, selv om det skulle være noe verktøy (jeg vet ikke om det vil være, ville jeg ikke bli overrasket, men før jeg leste kommentar Jeg har ikke tenkt på det.) for å minne brukeren når de skal lukke økten at det er endringer i deres / hjem uten å lagre eller til og med spørre oss om vi vil synkronisere dem til disk, for sikkert halvparten av tiden vi ville glemme og vi ville slå av datamaskinen for å hjelpe oss selv i tet et halvt sekund senere.

    "Det er hovedkort som til og med støtter 1 TB RAM og mikrofoner med 64 tråder som ThreadRipper 2 osv."

    Allerede, og stativer som fremdeles støtter mye mer, men ikke la oss gå xD. La oss gå tilbake til planeten Jorden der folk knapt har råd til et team på 800 € ...

    Hilsener.

  8.   Marcos sa

    "Jeg har et VDI-bilde av Windows 10 som bare veier 13 GB, med 14 GB RAM vil det fungere med letthet."
    Beklager, jeg mente 24 GB. Gikk fingeren til neste nøkkel?