Scroll to navigation

tmpfs(5) File Formats Manual tmpfs(5)

NAZWA

tmpfs - system plików w pamięci wirtualnej

OPIS

Funkcja tmpfs umożliwia utworzenie systemu plików, którego zawartość jest przechowywana w pamięci wirtualnej. Jako że jest to zwykle pamięć RAM, dostęp do plików w systemach plików tego typu jest ekstremalnie szybki.

System plików jest tworzony automatycznie przy montowaniu systemu plików typu tmpfs za pomocą polecenia takiego jak:


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

System plików tmpfs ma następujące właściwości:

System plików może wykorzystać przestrzeń wymiany, gdy wymaga tego zapotrzebowanie na pamięć fizyczną.
System plików zajmuje wyłącznie tyle pamięci fizycznej i przestrzeni wymiany ile jest potrzebne do przechowania jego aktualnej zawartości.
Podczas operacji ponownego montowania (mount -o remount), można zmienić rozmiar systemu plików (bez utraty jego aktualnej zawartości).

Przy odmontowywaniu systemu plików tmpfs jest zawartość jest odrzucana (tracona).

Opcje montowania

System plików tmpfs obsługuje następujące opcje montowania:

Określa górny limit rozmiaru systemu plików. Rozmiar jest podany w bajtach i zaokrąglany w górę do całych stron. Limit jest usuwany, gdy podano rozmiar 0.
Rozmiar może posiadać przyrostek k, m lub g aby wskazać Ki, Mi, Gi (binarne kilo (kibi), binarne mega (mebi) i binarne giga (gibi)).
Rozmiar może posiadać również przyrostek % aby ograniczyć tę instancję do określonego procenta fizycznej pamięci RAM.
Domyślnie, jeśli nie poda się ani size, ani nr_blocks przyjmuje się size=50%.
Jak size, lecz w blokach PAGE_CACHE_SIZE.
Bloki można podać z przyrostkiem k, m lub g, jak size, lecz niedopuszczalny jest przyrostek %.
Maksymalna liczba i-węzłów w tej instancji. Domyślnie jest to połowa liczby stron pamięci fizycznej RAM lub (w komputerach z highmem) liczba pamięci RAM lowmem, w zależności od tego, która jest mniejsza. Limit jest usuwany, gdy podano rozmiar 0.
I-węzły można podać z przyrostkiem k, m lub g, jak size, lecz niedopuszczalny jest przyrostek %.
Wyłącza przestrzeń wymiany. Przemontowanie musi respektować oryginalne ustawienia. Domyślnie przestrzeń wymiany jest włączona.
Ustawia początkowe uprawnienia głównego katalogu.
Ustawia początkowy identyfikator grupy głównego katalogu.
Ustawia początkowy identyfikator użytkownika głównego katalogu
Ustawia zasady przydzielania tabeli dużej pamięci do wszystkich plików w tej instancji (jeśli włączono CONFIG_TRANSPARENT_HUGEPAGE).
Wartością opcji-dużych-stron jest jedna z poniższych:
Nie przydziela dużych stron. Zachowanie domyślne.
Spróbuje przydzielić duże strony w każdym przypadku, gdy potrzebna jest nowa strona.
Przydziela dużą stronę, jeśli mieści się w pełni w i_size. Honoruje wskazówki fadvise(2) i madvise(2).
Przydziela duże strony, jeśli są żądane przez fadvise(2) lub madvise(2).
Do sytuacji awaryjnych, służy do wymuszenia wyłączenia opcji dużych stron ze wszystkich montowań.
Wymusza włączenie opcji dużych stron we wszystkich montowaniach; przydatne w testach.
Ustawia zasady przydzielania pamięci NUMA do wszystkich plików w tej instancji (jeśli włączono CONFIG_NUMA).
Wartością opcji-mpol jest jedna z poniższych:
Używa zasad alokacji procesu (zob. set_mempolicy(2)).
Preferuje przydzielenie pamięci od danego węzła.
Przydziela pamięć wyłącznie z węzłów w liście-węzłów.
Przydziela kolejno z każdego węzła.
Przydziela kolejno z każdego węzła z listy-węzłów.
Preferuje przydzielanie pamięci z lokalnego węzła.
W powyższych opisach lista-węzłów jest listą liczby dziesiętych i zakresów określających węzły NUMA, a separatorem jest przecinek (,). Zakres jest parą liczb dziesiętnych rozdzielonych dywizem (-) będących najmniejszym i największym numerem węzła w zakresie. Przykład: mpol=bind:0-3,5,7,9-15.

WERSJE

Funkcję tmpfs dodano w Linuksie 2.4, jako następcę starszej funkcji ramfs, która nie udostępniała sprawdzania limitów, ani nie pozwalała korzystać z przestrzeni wymiany.

UWAGI

Aby umożliwić tworzenie systemów plików tmpfs narzędziom i programom w przestrzeni użytkownika, jądro musi być skonfigurowane z opcją CONFIG_TMPFS.

System plików tmpfs obsługuje atrybuty rozszerzone (zob. xattr(7)), lecz niedozwolone są atrybuty rozszerzone użytkownika.

Do pamięci współdzielonej Systemu V (shmget(2)) i anonimowych przypisań współdzielonych (mmap(2) z flagami MAP_SHARED i MAP_ANONYMOUS) używany jest wewnętrzny system plików pamięci współdzielonej. Jest on dostępny niezależnie od tego, czy jądro skonfigurowano z opcją CONFIG_TMPFS.

System plików tmpfs zamontowany jako /dev/shm jest używany w implementacji pamięci współdzielonej POSIX (shm_overview(7)) i semaforach POSIX (sem_overview(7)).

Rozmiar pamięci zajętej przez wszystkie systemy plików tmpfs jest pokazany w polu Shmem w pliku /proc/meminfo oraz w polu shared wyświetlanym przez free(1).

Funkcja tmpfs nazywała się wcześniej shmfs.

ZOBACZ TAKŻE

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

Pliki źródeł jądra Documentation/filesystems/tmpfs.txt i Documentation/admin-guide/mm/transhuge.rst.

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

2 maja 2024 r. Linux man-pages (niewydane)