Créez un "RAMDisk" sur votre distribution Linux

Icône RAMDisk

Comme vous le savez, la vitesse d'accès à une mémoire est très importante. Les goulots d'étranglement générés dans le passé entre les mémoires magnétiques et les processeurs signifiaient qu'une mémoire tampon plus rapide devait être incluse, RAM. Plus tard, avec l'avancement des microprocesseurs est venu le cache, encore plus rapide pour offrir un tampon entre la RAM et les registres du processeur. Plus récemment, des disques durs SSD sont apparus, qui sont plus rapides que les disques durs magnéto-mécaniques car ils sont basés sur la mémoire flash.

Gigabyte a pensé il y a quelques années à créer un disque dur avec RAM (un RAMDisk appelé i-RAM), une mémoire très rapide par rapport aux disques durs, mais quelque chose de similaire est arrivé à ce qui est arrivé à Ageia avec sa carte PhysX. Ils n'ont pas vraiment gelé et ont fini par disparaître du marché, et maintenant avec les SSD (et les SSD à base de RAM), cela a encore moins de sens. De quoi s'agit-il? Eh bien, il utilise essentiellement la mémoire RAM pour stocker des données comme s'il s'agissait d'un disque dur, l'accès est donc beaucoup plus rapide.

Eh bien, vous n'avez pas besoin d'une i-RAM ou d'un SSD, ou quoi que ce soit de ce genre pour accélérer les transferts et accéder aux répertoires, fichiers ou programmes que vous souhaitez. Pour cela, vous pouvez créer un RAMDisk sur votre distribution Linux. La seule exigence est d'avoir suffisamment de RAM,> 4 Go recommandés, pour en réserver un peu pour l'utiliser comme un "disque dur" ultra-rapide. Quelque chose comme ce que certains GPU pour ordinateurs portables ont fait avec Partager la mémoire, mais dans ce cas pour vos données.

Pour créer cette mémoire, vous devez calculer la mémoire dont vous disposez, car si vous en épuisez tout ou une grande partie, vous manquerez de RAM pour les fins pour lesquelles elle a été créée et ce sera stupide. Par exemple, si vous avez 8 Go de RAM, vous pouvez prendre 2 Go pour le RAMDisk. Je le répète, son truc, c'est que vous avez plus de RAM, si vous avez 2 Go ou 4 Go cela ne vaut peut-être pas la peine ... (rappelez-vous dans "size =" spécifiez la taille, dans mon exemple j'ai opté pour 1024 Mo, c'est-à-dire, 1 Go, ou vous pouvez également utiliser "G" au lieu de "M" pour le spécifier en Go) Une fois que vous le savez, nous pouvons travailler avec les étapes suivantes depuis votre terminal:

mkdir /tmp/ramdisk

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

Maintenant, vous avez 1 Go réservé dans votre RAM afin que vous puissiez ajouter ce que vous voulez au répertoire ramdisk que nous avons créé. Faites des tests de performance et vous verrez comment c'est plus vite tout ce que vous avez dedans ... Si vous le souhaitez, vous pouvez créer la partition dans votre RAM avec un autre système de fichiers autre que tmpfs, comme ext4 ou ramfs.

Et si vous voulez que l'entrée de montage reste… Attention !! Les données que vous enregistrez ici si vous éteignez le PC ou redémarrez seront perdues, mais l'entrée restera pafin que vous n'ayez pas à créer la partition à chaque démarrage avec l'astuce suivante pour l'ajouter à la table de partition (fstab) afin qu'elle soit créée automatiquement (utilisez votre éditeur de texte préféré pour éditer l'entrée: 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: N'oubliez pas que vos données disparaîtront lorsque vous redémarrerez ou arrêterez ordinateur, car la RAM est une mémoire volatile. Donc, tout ce que vous voulez conserver, faites-en une copie sur une partition du disque dur.


10 commentaires, laissez le vôtre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Ile Maurice dit

    J'ai une question, une fois que nous aurons éteint l'équipement, les données continueront-elles d'être en mémoire? Je dis cela car la RAM est volatile. J'apprécierais que vous m'expliquiez cela.

    1.    Isaac PE dit

      Salut,

      Vous avez raison, j'ai oublié de commenter dans l'article qu'étant volatil, il sera supprimé à chaque démarrage de l'ordinateur. Merci de me le rappeler, je l'ai déjà ajouté. C'est quelque chose de très important qu'il ne faut pas négliger pour que personne ne perde ses données.

      Bravo et j'espère que j'ai aidé. Merci!!!

      1.    Ile Maurice dit

        Ce que je voyais, c'est qu'il existe des programmes qui font cette partition. Ce que font ces programmes est de créer une image sur le disque dur des données qui se trouvent dans la RAM afin que lorsque nous redémarrons, elles ne soient pas perdues. Ensuite, au démarrage du système, si je comprends bien, les données enregistrées sur le disque dur sont vidées dans la RAM afin que nous puissions les utiliser à nouveau. Merci pour la note et pour avoir répondu rapidement! Les salutations!

  2.   Léopoldo Cantillo dit

    Intéressant, il vaut la peine de réfléchir à quelques applications pratiques, un script qui crée cette partition RAM au début et charge les fichiers d'intérêt, ça ne sera pas utile ... de mettre une base de données ...? vous devez enquêter sur le sujet ... merci pour la note.

  3.   Sultanovitch dit

    cela ne peut fonctionner qu'en détaillant les fs. Dans mes tests, cela n'a fonctionné que comme suit:

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

  4.   Ismael dit

    Incroyable, les magnificences qui peuvent être réalisées avec GNU / LINUX. :)

  5.   Jimmy Olano dit

    Et si on utilisait ce RAMDisk pour la partition "tmp"?

    De pouvoir, je pourrais, il faudra mettre du code, je ne demande pas le code. Je note que pour les bases de données, même si je me souviens bien, il existe déjà une option pour prendre en charge les tables de base de données dans la RAM, exemple: https: // dev.mysql.com/doc /refman/5.5/en/ storage-engine -setting.html

  6.   Témoignages dit

    Si vous êtes chanceux et traîné au cours des 20 dernières années, vous pourrez disposer de 64 Go de RAM et ainsi pouvoir copier le fichier du disque dur virtuel de VirtualBOX (ou de toute autre machine virtuelle) vers la RAM; Je suppose que ce fichier n'occupe pas plus de 48GiB (pour laisser suffisamment de RAM libre pour Linux et pour la machine virtuelle). De cette façon, la machine virtuelle vole, et si vous souhaitez également que les modifications de la machine virtuelle soient perdues (immuabilité), vous n'aurez plus besoin de perdre des performances pour rendre le disque dur virtuel de la machine immuable, car avant de le démarrer, vous copiez il du NVMe / SSD / HDD à la RAM, puis lors de la désactivation de ce qui est dans la RAM est perdu (juste ce qui est souhaité dans ce cas, qui est l'immuabilité).

    Ainsi, avec autant de RAM, vous pouvez rendre l'image du disque dur non immuable et de taille fixe, en obtenant les performances maximales possibles dans l'accès, qu'avec le fait que ledit disque dur sera dans la RAM, cela rend un peu réel ravit lors de la manipulation de machines virtuelles (un seul snatch à la fois).

    Que lorsque vous avez fini d'utiliser la machine virtuelle, vous souhaitez conserver l'état du disque dur virtuel, car il est copié de la RAM vers le NVMe / SSD / HDD.

    Que j'ai vu, il y a déjà des NVMe capables de lire à des vitesses un peu plus de 5GiB / s (oui, cinq gigaoctets par seconde en lecture) et qu'en utilisant un seul (en RAID0 ou similaire serait encore plus rapide), pour la copie l'image du disque dur virtuel 48GiB de celui-ci vers la RAM ne prend qu'une dizaine de secondes, olé!
    Par contre quand on fait le processus inverse (de RAM à NVMe) les plus rapides que j'ai vu pour l'instant sont un peu plus de 3 Gio / s en écriture (oui, trois gigaoctets par seconde en écriture), donc en sauvegardant l'image de 48GiB virtuel en dur conduire de RAM à NVMe ne prend qu'environ dix-huit secondes, encore une fois un énorme olé!

    Nous allons avoir l'un des NVMe les plus rapides et 64GiB de RAM avec Linux et une machine virtuelle avec par exemple Windows 10, c'est une belle passe si la RAM est utilisée pour héberger le disque dur de la machine virtuelle.

    Et maintenant le cadeau pour Linux ... il existe déjà un paquet appelé "ramroot" (du moins il semble que pour les distributions basées sur Arch) qui, au démarrage, est responsable de la copie de la racine entière du système Linux vers la RAM et de la poursuite du démarrage de la RAM, avec laquelle nous obtenons également l'immuabilité sur le Linux que nous utilisons, sans oublier qu'il fonctionnera à partir de la RAM, au prix d'augmenter quelque peu le temps de démarrage.

    Si quiconque lit ceci connaît les distributions Linux amorçables à partir d'un CD / USB qui sont copiées dans la RAM au démarrage (comme SystemRescueCD, etc.), ils connaîtront les avantages que cela offre: cela démarre toujours de la même manière, cela va toujours aussi vite que possible. car tout est en RAM, rien n'est écrit sur les disques physiques au démarrage ou en utilisant Linux (quelque chose de très utile pour prolonger la durée de vie du SSD, personnellement en moins d'un mois et avec moins d'un téraoctet écrit, certains SSD sont déjà partis moi pour travailler, spécifiquement 120 Go de la marque KingDian), sauf évidemment si nous montons quelque chose en lecture et en écriture et y sauvegardons quelque chose, en combinant cela avec la machine virtuelle, le système `` vole '' dans les accès disque, puisque tout le monde va à la RAM.

    Avoir tout Linux en RAM allonge considérablement la durée de vie utile du SSD et du NVMe, car rien ou presque rien ne leur est écrit au démarrage et une fois démarré, absolument rien à moins que nous ne le fassions nous-mêmes.

    Mes tests ont porté sur un Ryzen 7 2700X (4.35 GHz avec 8 cœurs et 16 threads) avec 64 Go DDR4 3200 MHz et 1050 Go NVidia 4 Ti Graphics.

    Remarque: il existe des cartes mères qui prennent même en charge 1 To de RAM et des microphones avec 64 threads comme le ThreadRipper 2, etc.

  7.   Marcos dit

    Votre commentaire est très intéressant, mais il ne faut pas exagérer avec la RAM nécessaire: j'ai une image Windows 10 VDI qui ne pèse que 13 Go, avec 14 Go de RAM cela fonctionnerait avec une totale facilité.

    La chose à propos du montage de l'ensemble du système d'exploitation en RAM, je ne suis pas très clair si ce n'est pas un peu trop. Si votre SSD est formaté en BTRFS avec la compression à la volée activée (beaucoup moins de données sont écrites sur le lecteur), car presque seules les données sont écrites sur la partition système lorsque les packages sont installés (ce que nous voulons évidemment qu'il reste dans la partition système). SSD / disque), les fichiers de configuration sont modifiés (fichiers texte de taille négligeable, et la compression LZO de BTRFS les laisse dans une taille encore plus négligeable) et rien d'autre, car il semble un peu tuer les mouches avec des canons coups; gardez à l'esprit que toutes les distributions modernes motan / tmp en RAM si l'utilisateur a plus de 4 Go, je pense à la RAM, donc le SSD / disque ne souffre pas le moins d'usure en raison de nombreuses opérations temporaires qui sont écrites, ce qui était quoi de plus cane que j'ai mis dans la partition / il y a quelques années.

    Une autre chose est la maison, il y a des données constamment écrites: des caches, des paramètres qui changent de temps en temps si nous avons déplacé une fenêtre, des téléchargements, etc. Là, il pourrait être intéressant de travailler uniquement en RAM et de se synchroniser sur le disque uniquement si on veut vraiment, bien qu'il devrait y avoir un outil (je ne sais pas s'il y en aura, je ne serais pas surpris, mais jusqu'à la lecture de votre commentaire j'ai pas pensé au sujet) pour rappeler à l'utilisateur quand il va fermer la session qu'il y a des changements dans son / home sans enregistrer ou même nous demander si on veut les synchroniser sur disque, car sûrement la moitié du temps on oublierait et nous éteignions l'ordinateur pour nous aider en tête une demi-seconde plus tard.

    "Il existe des cartes mères qui prennent même en charge 1 To de RAM et des micros 64 threads comme le ThreadRipper 2, etc."

    Déjà, et des racks qui supportent encore beaucoup plus, mais ne nous laissons pas aller à xD. Revenons sur la planète Terre où les gens peuvent difficilement se permettre une équipe de 800 € ...

    Salutations.

  8.   Marcos dit

    "J'ai une image VDI de Windows 10 qui ne pèse que 13 Go, avec 14 Go de RAM, cela fonctionnerait avec une totale facilité."
    Désolé, je voulais dire 24 Go. Mon doigt est-il passé à la clé suivante?