GNU/Linux >> Tutoriels Linux >  >> Linux

Présentation de RAMFS et TMPFS sous Linux

Ceci est un article invité écrit par SathiyaMoorthy.

En utilisant ramfs ou tmpfs, vous pouvez allouer une partie de la mémoire physique à utiliser comme partition. Vous pouvez monter cette partition et commencer à écrire et à lire des fichiers comme une partition de disque dur. Comme vous allez lire et écrire dans la RAM, ce sera plus rapide.

Lorsqu'un processus vital devient considérablement lent en raison d'écritures sur disque, vous pouvez choisir les systèmes de fichiers ramfs ou tmpfs pour écrire des fichiers dans la RAM.


Les montages tmpfs et ramfs vous permettront de lire et d'écrire rapidement des fichiers depuis et vers la mémoire primaire. Lorsque vous testez cela sur un petit fichier, vous ne verrez peut-être pas une énorme différence. Vous ne remarquerez la différence que lorsque vous écrivez une grande quantité de données dans un fichier avec une autre surcharge de traitement telle que le réseau.

1. Comment monter Tmpfs

# mkdir -p /mnt/tmp

# mount -t tmpfs -o size=20m tmpfs /mnt/tmp

La dernière ligne du df -k suivant montre le système de fichiers /mnt/tmp tmpfs monté ci-dessus.

# df -k
Filesystem      1K-blocks  Used     Available Use%  Mounted on
/dev/sda2       32705400   5002488  26041576  17%   /
/dev/sda1       194442     18567    165836    11%   /boot
tmpfs           517320     0        517320    0%    /dev/shm
tmpfs           20480      0        20480     0%    /mnt/tmp

2. Comment monter Ramfs

# mkdir -p /mnt/ram

# mount -t ramfs -o size=20m ramfs /mnt/ram

La dernière ligne de la commande de montage suivante montre le système de fichiers /mnt/ram ramfs monté ci-dessus.

# mount
/dev/sda2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
tmpfs on /mnt/tmp type tmpfs (rw,size=20m)
ramfs on /mnt/ram type ramfs (rw,size=20m)

Vous pouvez monter ramfs et tmpfs au démarrage en ajoutant une entrée au /etc/fstab.

3. Ramfs contre Tmpfs

Ramfs et tmpfs font principalement la même chose avec quelques différences mineures.

  • Ramfs va croître de manière dynamique . Vous devez donc contrôler le processus qui écrit les données pour vous assurer que ramfs ne dépasse pas la taille de RAM disponible dans le système. Disons que vous avez 2 Go de RAM sur votre système et créé un ramfs de 1 Go et monté en tant que /tmp/ram. Lorsque la taille totale de /tmp/ram dépasse 1 Go, vous pouvez toujours y écrire des données. Le système ne vous empêchera pas d'écrire des données de plus de 1 Go. Cependant, lorsqu'il dépasse la taille totale de la RAM de 2 Go, le système peut se bloquer, car il n'y a pas de place dans la RAM pour conserver les données.
  • Tmpfs ne se développera pas de manière dynamique . Cela ne vous permettrait pas d'écrire plus que la taille que vous avez spécifiée lors du montage du tmpfs. Ainsi, vous n'avez pas à vous soucier du contrôle du processus qui écrit les données pour vous assurer que tmpfs ne dépasse pas la limite spécifiée. Cela peut donner des erreurs similaires à "Pas d'espace disponible sur l'appareil".
  • Tmpfs utilise l'échange .
  • Ramfs n'utilise pas d'échange.

4. Inconvénients de Ramfs et Tmpfs

Étant donné que ramfs et tmpfs écrivent dans la RAM du système, ils seront supprimés une fois le système redémarré ou planté. Vous devez donc écrire un processus pour récupérer les données de ramfs/tmpfs sur le disque à intervalles réguliers. Vous pouvez également écrire un processus pour écrire les données de ramfs/tmpfs sur le disque pendant que le système s'arrête. Mais cela ne vous aidera pas en cas de plantage du système.

Table :Comparaison de ramfs et tmpfs
Expérimentation Tmpfs Ramfs
Remplissez un maximum d'espace et continuez à écrire Affichera une erreur Continue d'écrire
Taille fixe Oui Non
Utilise Swap Oui Non
Stockage volatile Oui Oui


Si vous souhaitez que votre processus écrive plus rapidement, opter pour tmpfs est un meilleur choix avec des précautions concernant le plantage du système.

Cet article a été écrit par SathiyaMoorthy. Il travaille chez bksystems, s'intéresse à la rédaction d'articles et contribue à l'open source pendant son temps libre. The Geek Stuff accueille vos conseils et articles invités.


Linux
  1. Démystifier les espaces de noms et les conteneurs sous Linux

  2. Commandes Linux - Présentation et exemples

  3. Linux - Sysfs et Devtmpfs ?

  4. Présentation du processus UNIX (à l'intérieur d'un processus Linux et types de processus)

  5. utilisation des caractères génériques linux dans cp et mv

Mon terminal Linux riche en fonctionnalités et minimal

Commande Df sous Linux

Présentation de Clear Linux d'Intel, de ses fonctionnalités et de sa procédure d'installation

Le noyau Linux et ses fonctions

Installer et configurer Ansible sous Linux

Installer et configurer Jenkins sous Linux