Creați un „RAMDisk” pe distribuția Linux

Pictograma RAMDisk

După cum știți, viteza de acces a unei memorii este foarte importantă. Blocajele generate în trecut între amintirile magnetice și procesoare au însemnat că trebuie inclusă o memorie tampon mai rapidă, Berbec. Mai târziu, odată cu avansarea microprocesoarelor a apărut memoria cache, chiar mai rapidă pentru a oferi un buffer între memoria RAM și registrele CPU. Mai recent au apărut hard disk-uri SSD, care sunt mai rapide decât HDD-urile magnetic-mecanice, deoarece se bazează pe memoria flash.

Gigabyte s-a gândit acum câțiva ani să creeze un hard disk cu memorie RAM (un RAMDisk numit i-RAM), o memorie foarte rapidă în comparație cu hard diskurile, dar ceva similar s-a întâmplat cu ceea ce s-a întâmplat cu Ageia cu cardul său PhysX. Nu s-au gelat cu adevărat și au ajuns să dispară de pe piață, iar acum cu SSD-uri (și SSD-uri bazate pe RAM) are și mai puțin sens. Despre ce e vorba? Ei bine, practic folosește memoria RAM pentru a stoca date ca și cum ar fi un hard disk, astfel încât accesul este mult mai rapid.

Ei bine, nu aveți nevoie de un i-RAM sau un SSD sau ceva de genul acesta pentru a accelera transferurile și accesul la directoarele, fișierele sau programele dorite. Pentru asta poți creați un disc RAM pe distribuția Linux. Singura cerință este să aveți suficientă memorie RAM, recomandată> 4 GB, pentru a rezerva o parte din ea pentru a o folosi ca „hard disk” ultrarapid. Ceva asemănător cu ceea ce au făcut unele GPU-uri pentru laptopuri cu Share Memory, dar în acest caz pentru datele dvs.

Pentru a crea această memorie, trebuie să calculați memoria pe care o aveți, deoarece dacă epuizați toată sau o mare parte din ea, veți rămâne fără memorie RAM în scopurile pentru care a fost creată și va fi o prostie. De exemplu, dacă aveți 8 GB RAM, ați putea lua 2 GB pentru RAMDisk. Repet, chestia lui este că aveți mai multă memorie RAM, dacă aveți 2 GB sau 4 GB s-ar putea să nu merite ... (amintiți-vă în "size =" specificați dimensiunea, în exemplul meu am optat pentru 1024 MB, adică 1 GB sau puteți utiliza, de asemenea, „G” în loc de „M” pentru a-l specifica în GB) Odată ce știți acest lucru, vom lucra cu pașii următori de la terminal:

mkdir /tmp/ramdisk

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

Acum aveți 1 GB rezervat în memoria RAM, astfel încât să puteți adăuga orice doriți la directorul ramdisk pe care l-am creat. Faceți teste de performanță și veți vedea cum este mai rapid tot ce aveți în el ... Dacă doriți, puteți crea partiția în memoria RAM cu un alt sistem de fișiere, altul decât tmpfs, cum ar fi ext4 sau ramfs.

Și dacă doriți ca intrarea montajului să rămână ... Aveți grijă !! Datele pe care le salvați aici dacă opriți PC-ul sau reporniți se vor pierde, dar intrarea va rămâne pastfel încât să nu trebuie să creați partiția cu fiecare pornire cu următorul truc pentru ao adăuga la tabela de partiții (fstab), astfel încât să fie creat automat (utilizați editorul de text preferat pentru a edita intrarea: 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"

IMPORTANT: Amintiți-vă că datele dvs. vor dispărea când reporniți sau închideți computer, deoarece memoria RAM este memorie volatilă. Deci, orice doriți să păstrați, faceți o copie a acestuia pe o partiție de pe hard disk.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Mauricio el a spus

    Am o întrebare, odată ce oprim echipamentul, vor continua datele să fie în memorie? Spun asta, deoarece memoria RAM este volatilă. Aș aprecia dacă mi-ați putea explica asta.

    1.    Isaac PE el a spus

      Buna,

      Ai dreptate, am uitat să comentez în articol că, fiind volatil, va fi șters de fiecare dată când pornești computerul. Vă mulțumesc că mi-ați reamintit, l-am adăugat deja. Este ceva foarte important care nu trebuie trecut cu vederea, astfel încât nimeni să nu-și piardă datele.

      Noroc și sper că am ajutat. Mulțumiri!!!

      1.    Mauricio el a spus

        Ceea ce vedeam este că există programe care fac această partiție. Ce fac aceste programe este să creeze o imagine pe hard disk a datelor din RAM, astfel încât atunci când repornim să nu se piardă. Apoi, când sistemul pornește, după cum înțeleg, datele salvate pe hard disk sunt aruncate în memoria RAM, astfel încât să o putem folosi din nou. Vă mulțumim pentru notă și pentru că ați răspuns rapid! Salutari!

  2.   Leopold Cantillo el a spus

    Interesant, este să ne gândim la unele aplicații practice, un script care creează această partiție RAM la început și încarcă fișiere de interes, nu va fi util ... va fi util să punem o bază de date ...? trebuie să investighezi subiectul ... mulțumesc pentru notă

  3.   Sultanovici el a spus

    poate funcționa doar detaliind fs. În testele mele a funcționat doar după cum urmează:

    montare -t tmpfs tmpfs / tmp / ramdisk -o size = 300m

  4.   Ismael el a spus

    Incredibil, mărețiile care se pot face cu GNU / LINUX. :)

  5.   Jimmy Olano el a spus

    Ce-ar fi să folosim acel RAMDisk pentru partiția „tmp”?

    Pentru a putea, aș putea, va fi necesar să pun cod, nu cer codul. Observ că pentru bazele de date, deși îmi amintesc bine, există deja o opțiune pentru a susține tabelele bazelor de date în memoria RAM, de exemplu: https: // dev.mysql.com/doc /refman/5.5/en/ storage-engine -setting. html

  6.   Anonim el a spus

    Dacă ești norocos și târât în ​​ultimii 20 de ani, vei putea avea 64GiB de RAM și astfel vei putea copia fișierul hard disk virtual al VirtualBOX (sau orice altă mașină virtuală) în RAM; Presupun că acest fișier nu ocupă mai mult de 48GiB (pentru a lăsa suficient RAM gratuit pentru Linux și pentru mașina virtuală). În acest fel, mașina virtuală zboară și, dacă doriți, de asemenea, să se piardă modificările din mașina virtuală (imuabilitate), nu veți mai avea nevoie să pierdeți performanța în a face hard diskul virtual al mașinii imuabil, deoarece înainte de ao porni copiați de la NVMe / SSD / HDD la RAM și atunci când opriți ceea ce este în RAM se pierde (exact ceea ce se dorește în acest caz că doriți imuabilitate).

    Deci, cu atât de multă memorie RAM puteți face ca imaginea hard diskului să nu fie imuabilă și de dimensiune fixă, obținând performanța maximă posibilă în acces, încât împreună cu faptul că hard disk-ul respectiv se va afla în RAM, face un real încântați atunci când manipulați mașini virtuale (doar o singură smulgere la un moment dat).

    Că, când ați terminat de utilizat mașina virtuală, doriți să păstrați starea hard diskului virtual, deoarece acesta este copiat de pe RAM pe NVMe / SSD / HDD.

    Că am văzut că există deja unele NVMe care sunt capabile să citească la viteze puțin peste 5GiB / s (da, cinci gigaocteți pe secundă în citire) și că utilizarea unui singur (în RAID0 sau similar ar fi chiar mai rapid), pentru copiere imaginea hard diskului virtual 48GiB de la acesta la RAM durează doar aproximativ zece secunde, nu!
    Dezavantaje atunci când fac procesul opus (de la RAM la NVMe), cele mai rapide pe care le-am văzut deocamdată sunt puțin mai mult de 3GiB / s în scris (da, trei gigaocteți pe secundă în scriere), salvând astfel imaginea virtuală de 48GiB conduceți de la RAM la NVMe durează doar aproximativ optsprezece secunde, din nou un olé imens!

    Vom avea unul dintre cele mai rapide NVMe și 64GiB de memorie RAM cu Linux și o mașină virtuală cu, de exemplu, Windows 10, este destul de important dacă memoria RAM este utilizată pentru a găzdui hard disk-ul mașinii virtuale.

    Și acum cadoul pentru Linux ... există deja un pachet numit „ramroot” (cel puțin se pare că pentru distribuțiile bazate pe Arch) care în timpul bootului este responsabil pentru copierea întregii rădăcini a sistemului Linux în RAM și continuarea boot din RAM, cu care obținem și imuabilitatea pe Linux pe care o folosim, ca să nu mai vorbim că va rula din RAM, cu prețul creșterii oarecum a timpului de boot.

    Dacă oricine citește acest lucru, știe distribuțiile Linux care pot fi pornite de pe CD / USB care sunt copiate pe RAM în timpul pornirii (cum ar fi SystemRescueCD etc.), vor cunoaște beneficiile pe care le oferă: Începe întotdeauna la fel, merge întotdeauna cât de repede poate deoarece totul este în memorie RAM, nimic nu este scris pe discurile fizice în timpul pornirii sau în timp ce utilizați Linux (ceva foarte util pentru a prelungi durata de viață a SSD-ului, personal în mai puțin de o lună și cu mai puțin de un terabyte scris, unele SSD-uri au plecat deja eu, la 120 GB din marca KingDian), cu excepția cazului în care montăm ceva în citire și scriere și salvăm ceva acolo, combinând acest lucru cu mașina virtuală, sistemul „zboară” în accesele pe disc, deoarece toată lumea merge la RAM.

    A avea tot Linux în RAM prelungește foarte mult durata de viață utilă a SSD-urilor și NVMe, deoarece nimic sau aproape nimic nu le este scris în timpul boot-ului și odată ce a pornit absolut nimic, cu excepția cazului în care noi înșine o facem.

    Testele mele au fost pe un Ryzen 7 2700X (4.35 GHz cu 8 nuclee și 16 fire) cu 64GiB DDR4 3200MHz și 1050GiB NVidia 4 Ti Graphics.

    Notă: Există plăci de bază care acceptă chiar 1TiB de memorie RAM și microfoane cu 64 de fire precum ThreadRipper 2 etc.

  7.   Marcos el a spus

    Comentariul dvs. este foarte interesant, dar nu ar trebui să exagerăm cu memoria RAM necesară: Am o imagine VDI a Windows 10 care cântărește doar 13 GB, cu 14 GB RAM ar funcționa cu ușurință totală.

    Nu sunt foarte clar despre montarea întregului sistem de operare în RAM că nu este prea mult. Dacă aveți SSD-ul formatat în BTRFS cu compresie on-the-fly activată (mult mai puține date sunt scrise pe unitate), deoarece aproape numai datele sunt scrise în partiția de sistem atunci când sunt instalate pachetele (în care, evident, vrem să rămână în partiția de sistem). SSD / disc), fișierele de configurare sunt modificate (fișiere text de dimensiuni neglijabile, iar compresia LZO a BTRFS le lasă într-o dimensiune și mai neglijabilă) și puțin altceva, pentru că mi se pare că ucide muștele cu tunul fotografii; rețineți că toate distrosurile moderne motan / tmp în RAM dacă utilizatorul are mai mult de 4 GB, mă gândesc la RAM, deci SSD / discul nu suferă cea mai mică uzură din cauza multor operații temporare care sunt scrise, ceea ce am fost a pus mai mult baston în partiția / acum câțiva ani.

    Un alt lucru este casa, acolo datele sunt scrise constant: cache-uri, setări care se schimbă din când în când dacă am mutat o fereastră, descărcări etc. Acolo ar putea fi interesant să lucrăm numai în memorie RAM și să sincronizăm pe disc numai dacă vrem cu adevărat, deși ar trebui să existe un instrument (nu știu dacă va exista, nu m-ar mira, dar până nu vă citesc comentariu nu m-am gândit la asta.) pentru a reaminti utilizatorului când urmează să închidă sesiunea că există modificări în / acasă fără a salva sau chiar să ne întrebe dacă vrem să le sincronizăm pe disc, deoarece cu siguranță jumătate din timp am uita și am opri computerul pentru a ne ajuta în avans o jumătate de secundă mai târziu.

    „Există plăci de bază care acceptă chiar și 1TiB de memorie RAM și microfoane cu 64 de fire precum ThreadRipper 2 etc.”

    Deja și rafturi care încă suportă mult mai mult, dar nu ne lăsa să mergem xD. Să ne întoarcem pe planeta Pământ, unde oamenii cu greu își pot permite o echipă de 800 de euro ...

    Salutări.

  8.   Marcos el a spus

    „Am o imagine VDI a Windows 10 care cântărește doar 13 GB, cu 14 GB RAM, ar funcționa cu ușurință totală.”
    Îmi pare rău, mă refeream la 24 GB. Mi s-a dus degetul la următoarea cheie?