Skapa en "RAMDisk" på din Linux-distribution

RAMDisk-ikon

Som du vet är åtkomsthastigheten för ett minne mycket viktigt. Flaskhalsarna som genererats tidigare mellan magnetminnen och processorer gjorde att ett snabbare buffertminne måste inkluderas, Bagge. Senare, med framsteg av mikroprocessorer kom cachen, ännu snabbare för att erbjuda en buffert mellan RAM och CPU-register. På senare tid har SSD-hårddiskar dykt upp, som är snabbare än magnetmekaniska hårddiskar eftersom de är baserade på flashminne.

Gigabyte tänkte för några år sedan att skapa en hårddisk med RAM (en RAMDisk som heter i-RAM), ett mycket snabbt minne jämfört med hårddiskar, men något liknande hände med vad som hände med Ageia med sitt PhysX-kort. De gelade inte riktigt och slutade försvinna från marknaden, och nu med SSD-enheter (och RAM-baserade SSD-enheter) är det ännu mindre meningsfullt. Vad handlar det om? Tja, det använder i princip RAM-minne för att lagra data som om det vore en hårddisk, så åtkomst är mycket snabbare.

Tja, du behöver inte en i-RAM eller en SSD eller något liknande för att påskynda överföringar och tillgång till kataloger, filer eller program du vill ha. För det kan du skapa en RAMDisk på din Linux-distro. Det enda kravet är att ha tillräckligt med RAM,> 4 GB rekommenderas, för att reservera lite av det för att användas som en ultrasnabb "hårddisk". Något som vad vissa GPU: er för bärbara datorer gjorde med Share Memory, men i det här fallet för dina data.

För att skapa detta minne måste du beräkna det minne du har, eftersom om du tömmer hela eller en stor del av det kommer du att rinna ut RAM för de ändamål som det skapades för och det kommer att vara dumt. Om du till exempel har 8 GB RAM-minne kan du ta 2 GB för RAMDisk. Jag upprepar att hans sak är att du har mer RAM, om du har 2 GB eller 4 GB kanske det inte är värt det ... (kom ihåg i "size =" ange storleken, i mitt exempel har jag valt 1024 MB, det vill säga, 1GB, eller så kan du också använda "G" istället för "M" för att specificera det i GB) När du vet det här kommer vi att arbeta med följande steg från din terminal:

mkdir /tmp/ramdisk

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

Nu har du 1 GB reserverat i ditt RAM-minne så att du kan lägga till vad du vill i ramdisk-katalogen som vi har skapat. Gör prestandatester så får du se hur det är snabbare allt du har i det ... Om du vill kan du skapa partitionen i ditt RAM-minne med ett annat filsystem än tmpfs, till exempel ext4 eller ramfs.

Och om du vill att montageinsatsen ska förbli ... Var försiktig !! De data som du sparar här om du stänger av datorn eller startar om går förlorade, men ingången förblir pså att du inte behöver skapa partitionen vid varje start med följande knep för att lägga till den i partitionstabellen (fstab) så att den skapas automatiskt (använd din favorittextredigerare för att redigera ingången: 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"

VIKTIGT: Kom ihåg att dina data försvinner när du startar om eller stänger av dator eftersom RAM är flyktigt minne. Så vad du vill behålla, gör en kopia av den på en hårddiskpartition.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Mauricio sade

    Jag har en fråga, när vi stänger av utrustningen, kommer uppgifterna att finnas kvar i minnet? Jag säger detta eftersom RAM är flyktigt. Jag skulle uppskatta om du kunde förklara det för mig.

    1.    Isaac PE sade

      Hej,

      Du har rätt, jag glömde att kommentera i artikeln att om den är flyktig kommer den att raderas varje gång du startar datorn. Tack för att du påminner mig, jag har redan lagt till den. Det är något mycket viktigt som inte bör förbises så att ingen förlorar sina data.

      Skål och hoppas att jag hjälpte. Tack!!!

      1.    Mauricio sade

        Vad jag såg är att det finns program som gör denna partition. Vad dessa program gör är att skapa en bild på hårddisken med data som finns i RAM så att de inte går förlorade när vi startar om. När jag startar systemet, som jag förstår det, dumpas data som sparats på hårddisken i RAM så att vi kan använda den igen. Tack för anteckningen och för att du har svarat snabbt! Hälsningar!

  2.   Leopold Cantillo sade

    Intressant, det är att tänka på några praktiska tillämpningar, ett skript som skapar denna RAM-partition i början och laddar filer av intresse, det kommer inte att vara användbart ... det kommer att vara användbart att sätta en databas ...? du måste undersöka ämnet ... tack för anteckningen.

  3.   sultanovich sade

    det kan bara fungera med detaljer om fs. I mina tester har det bara fungerat enligt följande:

    montera -t tmpfs tmpfs / tmp / ramdisk -o storlek = 300m

  4.   Ismael sade

    Otroligt, de storslagenheter som kan göras med GNU / LINUX. :)

  5.   Jimmy Olano sade

    Vad sägs om att vi använder den RAMDisken för "tmp" -partitionen?

    För att kunna, kunde jag, kommer det att bli nödvändigt att sätta kod, jag frågar inte efter koden JAG FRÅGER OM ÄMNENS PRAKTISKA FÖR ATT ANVÄNDA DET. Jag noterar att för databaser, även om jag minns rätt, finns det redan ett alternativ att stödja databastabeller i RAM-minne, exempel: https: // dev.mysql.com/doc /refman/5.5/en/ lagringsmotor-inställning. html

  6.   Anonym sade

    Om du har tur och dras under de senaste 20 åren kommer du att kunna ha 64 GB RAM och därmed kunna kopiera den virtuella hårddiskfilen till VirtualBOX (eller någon annan virtuell maskin) till RAM; Jag antar att den här filen inte upptar mer än 48 GHz (för att lämna tillräckligt med gratis RAM för Linux och för den virtuella maskinen). På det sättet flyger den virtuella maskinen, och om du också vill att ändringarna i den virtuella maskinen ska gå förlorade (oföränderlighet) behöver du inte längre tappa prestanda för att göra maskinens virtuella hårddisk oföränderlig, för innan du startar den kopierar du den från NVMe / SSD / HDD till RAM och sedan försvinner det som finns i RAM (precis vad som önskas i det här fallet, vilket är oföränderlighet).

    Så med så mycket RAM kan du göra bilden på hårddisken inte oföränderlig och med fast storlek, så att du får maximal möjlig prestanda i åtkomsten, att tillsammans med det faktum att nämnda hårddisk kommer att finnas i RAM, gör det lite verkligt glädjer sig när man hanterar virtuella maskiner (bara ett snatch åt gången).

    När du är klar med att använda den virtuella maskinen vill du bevara tillståndet för den virtuella hårddisken eftersom den kopieras från RAM-minnet till NVMe / SSD / HDD.

    Som jag har sett finns det redan några NVMe som kan läsa med hastigheter lite över 5GiB / s (ja, fem gigabyte per sekund vid läsning) och att endast använda en (i RAID0 eller liknande skulle vara ännu snabbare), för kopiering 48GiB virtuell hårddiskavbildning från den till RAM tar bara cirka tio sekunder, olé!
    Av nackdelar när jag gör motsatt process (från RAM till NVMe) är de snabbaste jag har sett lite mer än 3GiB / s skriftligt (ja, tre gigabyte per sekund skriftligt), så att spara bilden på 48GiB virtuellt hårt enheten från RAM till NVMe tar bara cirka arton sekunder, återigen en enorm olé!

    Vi kommer att ha en av de snabbaste NVMe och 64GiB RAM med Linux och en virtuell maskin med till exempel Windows 10, det är ganska pass om RAM används för att vara värd för den virtuella maskinens hårddisk.

    Och nu gåvan till Linux ... det finns redan ett paket som heter "ramroot" (åtminstone verkar det som för Arch-baserade distributioner) som under start är ansvarig för att kopiera hela roten till Linux-systemet till RAM och fortsätta att starta från RAM, med vilket vi också får oföränderlighet på Linux som vi använder, för att inte tala om att den kommer att köras från RAM, till kostnad att öka starttiden något.

    Om den som läser detta känner till Linux-distributioner som kan startas från CD / USB som kopieras till RAM under start (som SystemRescueCD, etc.), kommer de att känna till fördelarna det ger: Det börjar alltid detsamma, det går alltid så fort det kan eftersom allt finns i RAM, skrivs ingenting till de fysiska diskarna under start eller när du använder Linux (något som är mycket användbart för att förlänga SSD-enhetens livslängd, personligen på mindre än en månad och med mindre än en terabyte skriven, har vissa SSD-enheter redan lämnat mig att arbeta, särskilt 120 GB av KingDian-märket), förutom självklart om vi monterar något i läs & skriv och sparar något där, kombinerar detta med den virtuella maskinen, "flyger" systemet i diskåtkomst, eftersom alla går till RAM-minnet.

    Att ha all Linux i RAM förlänger kraftigt livslängden för SSD och NVMe, eftersom ingenting eller nästan ingenting skrivs till dem under start och en gång startat absolut ingenting förutom att vi själva gör det.

    Mina tester har varit på en Ryzen 7 2700X (4.35 GHz med 8 kärnor och 16 trådar) med 64GiB DDR4 3200MHz och 1050GiB NVidia 4 Ti-grafik.

    Obs! Det finns moderkort som till och med stöder 1 TB RAM och mikrofoner med 64 trådar som ThreadRipper 2, etc.

  7.   marcos sade

    Din kommentar är väldigt intressant, men vi borde inte överdriva med nödvändigt RAM: Jag har en Windows 10 VDI-bild som bara väger 13 GB, med 14 GB RAM skulle det fungera helt enkelt.

    Jag är inte så tydlig med att montera hela operativsystemet i RAM att det inte är lite för mycket. Om du har din SSD formaterad i BTRFS med on-the-fly-komprimering aktiverad (mycket mindre data skrivs till enheten), eftersom nästan bara data skrivs till systempartitionen när paket installeras (vilket vi uppenbarligen vill att den ska vara i systempartitionen). SSD / disk), konfigurationsfiler ändras (textfiler av försumbar storlek och LZO-komprimering av BTRFS lämnar dem i en ännu mer försumbar storlek) och lite annat, för det verkar lite att döda flugor med kanoner skott; kom ihåg att alla moderna distros motan / tmp i RAM om användaren har mer än 4 GB, jag tänker på RAM, så SSD / disken lider inte minst på grund av många tillfälliga operationer som är skrivna, vilket var vad mer sockerrör satte jag i / partitionen för några år sedan.

    En annan sak är hemmet, där skrivs ständigt data: cachar, inställningar som ändras så ofta om vi har flyttat ett fönster, nedladdningar etc. Där kan det vara intressant att bara arbeta i RAM och bara synkronisera till disk om vi verkligen vill, även om det borde finnas något verktyg (jag vet inte om det kommer att finnas, jag skulle inte bli förvånad, men tills jag läste din kommentar har jag inte tänkt på ämnet) för att påminna användaren när de ska stänga sessionen att det finns förändringar i deras / hem utan att spara eller till och med fråga oss om vi vill synkronisera dem till disk, för säkert hälften av tiden skulle vi glömma och vi skulle stänga av datorn för att hjälpa oss själva i ledningen en halv sekund senare.

    "Det finns moderkort som till och med stöder 1 TB RAM och mikrofoner med 64 trådar som ThreadRipper 2, etc."

    Redan, och rack som fortfarande stöder mycket mer, men låt oss inte gå xD. Låt oss gå tillbaka till planeten Jorden där människor knappast har råd med ett team på 800 € ...

    Hälsningar.

  8.   marcos sade

    "Jag har en VDI-bild av Windows 10 som bara väger 13 GB, med 14 GB RAM skulle det fungera helt enkelt."
    Tyvärr menade jag 24 GB. Gick mitt finger till nästa nyckel?