tmpfs(5) File Formats Manual tmpfs(5)

tmpfs - un sistem de fișiere în memoria virtuală

Facilitatea tmpfs permite crearea de sisteme de fișiere al căror conținut se află în memoria virtuală. Deoarece fișierele din astfel de sisteme de fișiere se află de obicei în memoria RAM, accesul la fișiere este extrem de rapid.

Sistemul de fișiere este creat automat atunci când se montează un sistem de fișiere cu tipul tmpfs prin intermediul unei comenzi precum cea de mai jos:


$ sudo mount -t tmpfs -o size=10M tmpfs /mnt/mytmpfs

Un sistem de fișiere tmpfs are următoarele proprietăți:

Sistemul de fișiere poate utiliza spațiul de interschimb (swap) atunci când presiunea asupra memoriei fizice o cere.
Sistemul de fișiere consumă doar atâta memorie fizică și spațiu de interschimb cât este necesar pentru a stoca conținutul curent al sistemului de fișiere.
În timpul unei operații de remontare (mount -o remount), dimensiunea sistemului de fișiere poate fi modificată (fără a pierde conținutul existent al sistemului de fișiere).

Dacă un sistem de fișiere tmpfs este demontat, conținutul său este înlăturat (pierdut).

Sistemul de fișiere tmpfs acceptă următoarele opțiuni de montare:

Specifică o limită superioară a dimensiunii sistemului de fișiere. Dimensiunea este exprimată în octeți și este rotunjită la pagini întregi. Limita este eliminată dacă dimensiunea este 0.
Dimensiunea poate avea un sufix k, m sau g pentru Ki, Mi, Gi (kilo binar (kibi), mega binar (mebi) și giga binar (gibi)).
Dimensiunea poate avea, de asemenea, un sufix % pentru a limita această instanță la un procent din memoria RAM fizică.
Valoarea implicită, atunci când nu se specifică nici size, nici nr_blocks, este size=50%.
La fel ca size, dar în blocuri de PAGE_CACHE_SIZE.
Blocurile pot fi specificate cu sufixe k, m sau g, precum size, dar nu cu un sufix %.
Numărul maxim de noduri-i pentru această instanță. Valoarea implicită este jumătate din numărul de pagini fizice de RAM sau (pe o mașină cu memorie mare) numărul de pagini de RAM cu memorie mică, oricare dintre acestea este mai mic. Limita este eliminată dacă numărul este 0.
Nodurile-i pot fi specificate cu sufixe k, m sau g, precum size, dar nu cu un sufix %.
Dezactivează swap. Remontările trebuie să respecte valorile originale. În mod implicit, spațiul de interschimb este activat.
Stabilește permisiunile inițiale ale directorului rădăcină.
Stabilește ID-ul de grup inițial al directorului rădăcină.
Stabilește ID-ul de utilizator inițial al directorului rădăcină.
Stabilește politica de alocare în memorie a tabelului de pagini imense pentru toate fișierele din această instanță (dacă CONFIG_TRANSPARENT_HUGEPAGE este activat).
Valoarea opțiunii opțiune-imens este una dintre următoarele:
Nu se alocă pagini imense. Aceasta este opțiunea implicită.
Se încearcă să se aloce pagini imense de fiecare dată când este nevoie de o pagină nouă.
Se alocă o pagină imensă numai dacă aceasta se va încadra în întregime în i_size. De asemenea, se respectă indicațiile fadvise(2) și madvise(2).
Se alocă pagini imense numai dacă sunt solicitate cu fadvise(2) sau madvise(2).
Pentru utilizare în situații de urgență, pentru a forța dezactivarea opțiunii de pagini imense de la toate montările.
Forțează activarea opțiunii de pagini imense pentru toate montările; util pentru testare.
Stabilește politica de alocare a memoriei NUMA pentru toate fișierele din această instanță (dacă CONFIG_NUMA este activat).
Valoarea opțiunii opțiune-mpol este una dintre următoarele:
Utilizează politica de alocare a proceselor (a se vedea set_mempolicy(2)).
De preferință, se alocă memorie din nodul dat.
Alocă memorie numai din nodurile din listă-noduri.
Alocă de la fiecare nod în parte.
Alocă de la fiecare nod din listă-noduri pe rând.
De preferință, alocă memoria din nodul local.
În exemplul de mai sus, listă-noduri este o listă de numere și intervale zecimale, separate prin virgule, care specifică nodurile NUMA. Un interval este o pereche de numere zecimale separate prin cratimă, cel mai mic și cel mai mare număr de noduri din intervalul respectiv. De exemplu, mpol=bind:0-3,5,7,9-15.

Facilitatea tmpfs a fost adăugată în Linux 2.4, ca succesor al mai vechii facilități ramfs, care nu prevedea verificarea limitelor și nici nu permitea utilizarea spațiului de interschimb.

Pentru ca instrumentele și aplicațiile din spațiul utilizatorului să creeze sisteme de fișiere tmpfs, nucleul trebuie să fie configurat cu opțiunea CONFIG_TMPFS.

Sistemul de fișiere tmpfs acceptă atribute extinse (a se vedea xattr(7)), dar nu sunt permise atributele extinse de utilizator.

Un sistem de fișiere intern de memorie partajată este utilizat pentru memoria partajată System V (shmget(2)) și pentru hărțile anonime partajate (mmap(2) cu fanioanele MAP_SHARED și MAP_ANONYMOUS). Acest sistem de fișiere este disponibil indiferent dacă nucleul a fost configurat sau nu cu opțiunea CONFIG_TMPFS.

Un sistem de fișiere tmpfs montat la /dev/shm este utilizat pentru implementarea memoriei partajate POSIX (shm_overview(7)) și a semafoarelor POSIX (sem_overview(7)).

Cantitatea de memorie consumată de toate sistemele de fișiere tmpfs este afișată în câmpul Shmem din /proc/meminfo și în câmpul partajată afișat de free(1).

Facilitatea tmpfs a fost denumită anterior shmfs.

df(1), du(1), memfd_create(2), mmap(2), set_mempolicy(2), shm_open(3), mount(8)

Fișierele sursă ale nucleului Documentation/filesystems/tmpfs.txt și Documentation/admin-guide/mm/transhuge.rst.

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

2 mai 2024 Pagini de manual de Linux 6.9.1