tmpfs(5) File Formats Manual tmpfs(5) NOM tmpfs - Systeme de fichiers en memoire virtuelle DESCRIPTION La fonctionnalite tmpfs permet de creer des systemes de fichiers dont le contenu reside en memoire virtuelle. Puisque les fichiers de tels systemes de fichiers resident classiquement en memoire vive, l'acces aux fichiers est extremement rapide. Le systeme de fichiers est automatiquement cree lors du montage d'un systeme de fichiers de type tmpfs a l'aide d'une commande telle que : $ sudo mount -t tmpfs -o size=10M tmpfs /mnt/tmpfs_perso Un systeme de fichiers tmpfs possede les proprietes suivantes : - le systeme de fichiers peut utiliser l'espace d'echange (swap) lorsque la charge sur la memoire physique l'exige ; - le systeme de fichiers utilise autant de memoire physique et d'espace d'echange que necessaire pour stocker le contenu actuel du systeme de fichiers ; - lors d'une operation de remontage (mount -o remount), la taille du systeme de fichiers peut etre changee (sans perdre le contenu existant du systeme de fichiers). Si un systeme de fichiers tmpfs est demonte, son contenu est abandonne (perdu). Options de montage Le systeme de fichiers tmpfs gere les options de montage suivantes : size=octets Specify an upper limit on the size of the filesystem. The size is given in bytes, and rounded up to entire pages. The limit is removed if the size is 0. La taille peut avoir comme suffixe k, m ou g pour Ki (kibi : kilo binaire), Mi (mebi : mega binaire), Gi (gibi : giga binaire). La taille peut aussi avoir un suffixe % pour limiter une instance a un pourcentage de la memoire RAM physique. La valeur par defaut si ni size ni nr_blocks ne sont indiques est size=50%. nr_blocks=blocs La meme chose que size, mais en blocs de PAGE_CACHE_SIZE. Les blocs peuvent etre indiques avec les suffixes k, m ou g comme pour size, mais pas avec un suffixe %. nr_inodes=inoeuds The maximum number of inodes for this instance. The default is half of the number of your physical RAM pages, or (on a machine with highmem) the number of lowmem RAM pages, whichever is smaller. The limit is removed if the number is 0. Les inoeuds peuvent etre indiques avec les suffixes k, m ou g comme pour size, mais pas avec un suffixe %. noswap(since Linux 6.4) Disables swap. Remounts must respect the original settings. By default swap is enabled. mode=mode Definir les permissions initiales du repertoire racine. gid=gid (depuis Linux 2.5.7) Definir l'ID de groupe initial du repertoire racine. uid=uid (depuis Linux 2.5.7) Definir l'ID utilisateur du repertoire racine. huge=option_large (depuis Linux 4.7.0) Definir la politique d'allocation en memoire de pages larges pour tous les fichiers de l'instance (si CONFIG_TRANSPARENT_HUGEPAGE est active). La valeur de option_large est une des suivantes : never Ne pas allouer de pages larges. C'est la valeur par defaut. always Essayer d'allouer des pages larges chaque fois qu'une nouvelle page est necessaire. within_size Allocation d'une page large uniquement si elle ne depasse pas la taille de fichier (i_size). Respecter aussi les preconisations de fadvise(2) et madvise(2). advise Allocation de pages larges seulement si cela est preconise par fadvise(2) ou madvise(2). deny Utilisation en cas d'urgence pour forcer tous les montages sans l'option large. force Obligation de l'option large pour tous les montages (utile pour des tests). mpol=option_polm (depuis Linux 2.6.15) Definir la politique d'allocation de memoire NUMA pour tous les fichiers de l'instance (si CONFIG_NUMA est active). La valeur de option_polm est une des suivantes : default Utilisation de la politique d'allocation du processus (consulter set_mempolicy(2)). prefer:noeud De preference, allocation de la memoire a partir du noeud indique. bind:liste_noeuds Allocation de la memoire a partir des noeuds de liste_noeuds. interleave Allocation a partir de chaque noeud a tour de role. interleave:liste_noeuds Allocation a partir de chaque noeud dans liste_noeuds a tour de role. local De preference, allocation de la memoire a partir du noeud local. Ci-dessus, liste_noeuds est une liste de nombres decimaux et d'intervalles, separes par des virgules, qui precisent les noeuds NUMA. Un intervalle est une paire de nombres decimaux separes par des tirets, et qui correspondent aux numeros des noeuds le plus petit et le plus grand de l'intervalle. Par exemple, polm=bind:0-3,5,7,9-15. VERSIONS La fonctionnalite tmpfs a ete ajoutee dans Linux 2.4, en tant que successeur de l'ancienne fonctionnalite ramfs qui ne fournissait pas de verifications de limite ou ne permettait pas l'utilisation d'espace d'echange. NOTES Pour que les outils et les applications en espace utilisateur puissent creer des systemes de fichiers tmpfs, le noyau doit etre configure avec l'option CONFIG_TMPFS. Le systeme de fichiers tmpfs prend en charge les attributs etendus (consulter xattr(7)), mais les attributs etendus d'utilisateur ne sont pas permis. Un systeme de fichiers interne en memoire partagee est utilise pour la memoire partagee de System V (shmget(2)) et pour des mappages partages anonymes (mmap(2) avec les drapeaux MAP_SHARED et MAP_ANONYMOUS). Ce systeme de fichiers est disponible que le noyau ait ete configure avec l'option CONFIG_TMPFS ou non. Un systeme de fichiers tmpfs monte sur /dev/shm est utilise pour l'implementation de la memoire partagee POSIX (shm_overview(7)) et des semaphores POSIX (sem_overview(7)). La quantite de memoire utilisee par tous les systemes de fichiers tmpfs est indiquee dans le champ Shmem de /proc/meminfo et dans le champ shared affiche par free(1). La fonctionnalite tmpfs etait precedemment appelee shmfs. VOIR AUSSI df(1), du(1), memfd_create(2), mmap(2), set_mempolicy(2), shm_open(3), mount(8) Les fichiers des sources du noyau Documentation/filesystems/tmpfs.txt et Documentation/admin-guide/mm/transhuge.rst. TRADUCTION La traduction francaise de cette page de manuel a ete creee par Alain Portal , Christophe Blaess , Danny , David Prevot , Denis Barbier , Florentin Duneau , Francois Micaux, Francois Wendling , Frederic Delanoy , Gerard Delafond , Jean-Luc Coulon (f5ibh) , Jean-Philippe Guerard , Julien Cristau , Nicolas Francois , Philippe Batailler, Romain Doumenc , Simon Paillard , Stephan Rafin , Thierry Vignaud , Thomas Huriaux , Thomas Vincent et Eric Piel Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 tmpfs(5)