Crea un "ramdisk» en el teu distribució Linux

icona RAM

Com saps, la velocitat d'accés d'una memòria és molt important. Els colls d'ampolla generats antany entre les memòries magnètiques i els processadors van fer que s'hagués de incloure una memòria intermèdia més ràpida, el moltó. Després, amb l'avanç dels microprocessadors va venir la memòria cau, fins i tot més ràpida per oferir una memòria intermèdia entre la RAM i els registres de la CPU. Més recentment han aparegut els discs durs SSD, que són més ràpids que els HDD magnètic-mecànics a l'estar basats en memòria flash.

Gigabyte va pensar fa uns anys en crear un disc dur amb RAM (XNUMX ramdisk denominat i-RAM), una memòria molt ràpida en comparació amb els discs durs, però va passar una cosa semblant al que li va passar a Ageia amb la seva targeta PhysX. No van arribar a quallar massa i van acabar desapareixent de mercat, i ara amb els SSD (i els SSD basats en RAM) té encara menys sentit. I de què tracta? Doncs bàsicament és utilitzar memòria RAM per emmagatzemar dades com si d'un disc dur es tractés, així l'accés és molt més veloç.

Doncs bé, no cal que tinguis un i-RAM ni un SSD, ni res per l'estil per accelerar les transferències i els accessos dels directoris, fitxers o programes que vulguis. Per això es pot crear un ramdisk en el teu distro Linux. L'únic requisit és disposar de RAM suficient,> 4GB recomanat, per reservar un trosset d'aquesta per utilitzar com a «disc dur» ultra ràpid. Una cosa així com el que feien algunes GPUs per a equips portàtils amb la Share Memory, però en aquest cas destinada a les teves dades.

Per crear aquesta memòria, has de calcular de la memòria que disposes, ja que si la esgotes tota o gran part d'ella et quedaràs sense RAM per als fins per als quals ha estat creada i serà una estupidesa. Per exemple, si disposes de 8GB de RAM, podries agafar 2GB per al RAM. Torno a repetir, el seu és que tinguis més RAM, si comptes amb 2GB o 4GB potser no et valgui la pena ... (recorda en «size =» especificar la mida, en el meu exemple he optat per 1024MB, és a dir, 1GB, o també pots utilitzar «G» en lloc de «M» per especificar-ho en GB) Un cop sàpigues això, ens posem mans a l'obra amb els següents passos des del teu terminal:

mkdir /tmp/ramdisk

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

Ara ja tens reservat 1GB en el teu RAM perquè puguis afegir el que vulguis a directori disc RAM que hem creat. Fes proves de rendiment i veuràs com és més ràpid tot el que tinguis ficat en ell ... Si vols, pots crear la partició en el teu RAM amb un altre sistema de fitxers diferent a tmpfs, com ara ext4 o ramfs.

I si vols que l'entrada de muntatge romangui ... 'Ull !! les dades que guardis aquí si apagues el PC o reinicies si es perdran, però l'entrada seguirà para que no hagis de crear la partició amb cada inici amb el següent truc per afegir-la a la taula (fstab) de particions perquè es creu automàticament (fa servir el teu editor de text favorit per editar la entarada: vaig veure, 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: Recorda que les teves dades desapareixeran quan reinicies o apaguis l'equip, ja que la RAM és una memòria volàtil. Per això, el que vulguis conservar, fes-li una còpia en una partició del disc dur.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   mauricio va dir

    Tinc un dubte, una vegada que apaguem l'equip, les dades ¿van a seguir estant en la memòria ?. Dic això ja que la memòria RAM és volàtil. Et agrairia que em expliquessis això.

    1.    Isaac PE va dir

      Hola,

      Tens raó, es va oblidar comentar en l'article que a l'ésser volàtil s'esborrarà cada vegada que iniciïs l'equip. Gràcies per recordar-m'ho, ho he afegit ja. És una cosa molt important que no hauria de passar-se per alt perquè ningú perdi les seves dades.

      Salutacions i espero haver-te ajudat. Gràcies !!!

      1.    mauricio va dir

        El que vaig estar veient és que hi ha programes que fan aquesta particón. El que fan aquests programes és crear una imatge en el disc rigid de les dades que estan en la memòria RAM perquè quan reiniciem no es perdin. Després a l'iniciar el sistema, segons tinc entès, les dades guardades en el disc rígid es bolquen en la memòria RAM perquè puguem usar-los novament. Gràcies per la nota i per haver respost ràpid! Salutacions!

  2.   Leopold Cantell va dir

    Interessant, és de pensar algunes aplicacions pràctiques, un script que creu aquesta partició RAM a l'inici i carregui fitxers d'interès, no es ... servirà posar una base de dades ...? cal investigar el tema ... gràcies per la nota.

  3.   Sultanovich va dir

    és possible que només funcioni detallant el fs. En les meves proves només ha funcionat de la següent manera:

    mount -t tmpfs tmpfs / tmp / disc RAM -o size = 300m

  4.   Ismael va dir

    Increïble, les magnificències que es pot fer amb GNU / Linux. :)

  5.   Jimmy Olano va dir

    Què tal si fem servir aquesta disc RAM per a la partició «tmp»?

    De poder, es vaig poder, caldrà fer codi, no pregunto pel codi PREGUNTO PER LA PRACTICITAT DE L'ASSUMPTE, DONAR-LI ÚS. Fito que per a les bases de dades, si bé recordo, ja hi ha una opció per donar suport taules de bases de dades en memòria RAM, exemple: https: // dev.mysql.com/doc /refman/5.5/en/ storage-engine -setting.html

  6.   Anònim va dir

    Si ets afortunat i Arraste durant els últims 20 anys podràs disposar d'64GiB de RAM i així poder copiar el fitxer de disc dur virtual de VirtualBox (o qualsevol altra màquina virtual) a la RAM; presuponinedo que aquest arxiu no ocupi més de 48GiB (per deixar RAM lliure suficient per a Linux i per a la màquina virtual). D'aquesta manera la màquina virtual vola, i si a més vols que els canvis en la màquina virtual es perdin (immutabilitat) ja no et caldrà perden rendiment en fan immutable el disc dur virtual de la màquina, perquè abans d'arrencar-ho còpies des del NVMe / SSD / HDD a la RAM i després a l'apagar el que estigui a la RAM es perd (just el desitjat en aquest cas que es vol immutabilitat).

    Asni doncs, amb tanta RAM es pot fer la imatge del disc dur no immutable i de grandària fixa, obtenint el màxim rendiment possible en l'accés, això unit al fet que aquest disc dur serà a la RAM, fa unes veritables delícies a l'gestionar màquines virtuals (només una arrencada a la vegada).

    Que a l'acabar de fer servir la màquina virtual interessa conservar l'estat del disc dur virtual, ja que es copia de la RAM a l'NVMe / SSD / HDD.

    Que jo hagi vist ja hi ha alguns NVMe que són capaços de llegir a velocitats una mica per sobre de 5GiB / s (si, cinc gigabytes per segon en lectura) i això usant només un (a RAID0 o similars seria encara més ràpid), per el que copiar des d'ell cap a la RAM la imatge de disc dur virtual de 48GiB pren només uns deu segons, olé!
    Per contra al fer el procés oposat (de la RAM a l'NVMe) el més ràpid que he vist per ara són una mica més de 3GiB / s en escriptura (si, 48 gigabytes per segon en escriptura), de manera que salvar la imatge de disc dur virtual de XNUMXGiB des de la RAM a l'NVMe pren només uns divuit segons, de nou un grandíssim olé!

    Anem de disposar d'un NVMe dels més ràpids i 64GiB de RAM amb Linux i una màquina virtual amb per exemple Windows 10, és tota una passada si es fa servir la RAM per allotjar el disc dur de la màquina virtual.

    I ara el regalet per a Linux ... ja hi ha un paquet anomenat «ramroot» (al menys sembla que per a les distribucions basades en Arch) que durant l'arrencada s'encarrega de copiar a la RAM tota l'arrel de sistema Linux i continuar arrencant des de la RAM , de manera que a més obtenim la immutabilitat sobre el Linux que utilitzem, per no esmentar que correrà des de la RAM, a costa d'incrementar una mica el temps d'arrencada.

    Si el que llegeixi això coneix les distros de Linux arrencada des de CD / USB que es copien a RAM durant l'arrencada (com SystemRescueCd, etc) sabrà les bondats que atorga: Sempre arrenca igual, sempre va el més ràpid que pot perquè tot està en RAM, no s'escriu res en els discos físics durant l'arrencada ni durant l'ús de l'Linux (cosa molt útil per allargar la vida dels SSD, personalment en menys d'un mes i amb menys d'un terabyte escrit alguns SSD ja m'han deixat de funcionar, concretament de 120GB de la marca KingDian), excepte òbviament si muntem alguna cosa en lectura & escriptura i vam salvar aquí alguna cosa, combinant això amb el de la màquina virtual, el sistema 'vola' en els accessos a disc, ja que tots van a la RAM.

    Tenir en RAM tot el Linux allarga moltíssim la vida útil dels SSD i NVMe, ja que no s'escriu en ells res o gairebé res durant l'arrencada i una vegada arrencat absolutament res llevat que siguem nosaltres mateixos els que ho fem.

    Els meus tests han estat en un Ryzen 7 2700X (4.35GHz amb 8 nuclis i 16 fils) amb 64GiB DDR4 3200MHz i Gràfica NVidia 1050 Tu de 4GiB.

    Nota: Hi ha plaques base que suporten fins i tot 1TiB de RAM i micros amb 64 ​​fils com el ThreadRipper 2, etc.

  7.   Marc va dir

    Interessantíssim el teu comentari, però tampoc cal exagerar amb la RAM necessària: tinc una imatge VDI de Windows 10 que pesa 13 GB res més, amb 14 GB de RAM funcionaria amb total desimboltura.

    Això de muntar tot el SO en RAM tampoc tinc molt clar que no sigui un poc una sobrada. Si tens el teu SSD formatat en Btrfs amb la compressió a el vol habilitada (s'escriuen bastants menys dades a la unitat), ja que en la partició de sistema gairebé només s'escriuen dades quan s'instal·len paquets (cosa que òbviament volem que es quedi al SSD / disc), es modifiquen fitxers de configuració (arxius de text de mida insignificant, i la compressió LZO de Btrfs els deixa en una mida encara més menyspreable) i poc més, ja que em sembla una mica matar mosques a canonades; tinguem en compte que totes les distros modernes MOTAN / tmp en RAM si l'usuari té més de 4 GB, crec de RAM, pel que el SSD / disc no pateix el menor desgast per moltes operacions temporals que s'escriguin, que era el que més canya ficava a la partició / fa alguns anys.

    Una altra cosa és la home, aquí s'escriuen dades constantment: caixets, configuracions que canvien a cada estona si hem mogut de lloc una finestra, descàrregues, etc. Aquí sí podria ser interessant treballar només en RAM i sincronitzar a disc només si de veritat volem, tot i que hauria d'haver alguna eina (que no sé si n'hi haurà, no m'estranyaria, però fins llegir el teu comentari no m'he posat a pensar en el tema ) que recordés a l'usuari quan va a tancar la sessió que hi ha canvis en el seu / home sense desar o que fins i tot ens preguntés si volem sincronitzar a disc, perquè segur que la meitat de les vegades se'ns oblidaria i apagaríamos l'ordinador per tirar-nos les mans al capdavant mig segon després.

    «Hi ha plaques base que suporten fins i tot 1TiB de RAM i micros amb 64 ​​fils com el ThreadRipper 2, etc.»

    Ja, i racks que encara admeten molt més, però que no se'ns vagi l'olla xD. Tornem a l'planeta Terra on la gent amb prou feines es pot permetre un equip de 800 € ...

    Salutacions.

  8.   Marc va dir

    «Tinc una imatge VDI de Windows 10 que pesa 13 GB res més, amb 14 GB de RAM funcionaria amb total desimboltura.»
    Perdó, volia dir 24 GB. Es em va anar el dit a la tecla de a la banda?