tmpfs
A tmpfs ( t e mp orary f ile s ystem), korábbi nevén shmfs, egy virtuális fájlrendszer , amelyet dinamikus (illékony) memóriában történő fájltárolásra hoztak létre. A tmpfs fájlrendszert jellemzően a RAM memóriában szokták létrehozni.
Az illékony memória (például RAM) nem képes megőrizni a fájlokat rendszerleállítás, számítógép újraindítás vagy rendszerösszeomlás után. Ezt a név is egyértelművé teszi: a tmpfs kizárólag átmeneti fájlok tárolására szolgál. A legjobb gyakorlat, ha Ön csak a visszaállítható/újrateremthető fájlokat tárolja a tmpfs fájlrendszerben.
Linuxban a ramfs ( r andom a ccess m emory f ile s ystem) helyét a tmpfs vette át, mivel a régi ramfs nem kezelte megfelelően a memóriakimerülést. A tmpfs lehetővé teszi a fájlrendszer dinamikus növekedését, amikor több helyre van szüksége, egészen a számára előre meghatározott maximális érték eléréséig. Ezt követően pedig a swap területet használja, ha az rendelkezésre áll.
Számos esetben hasznos lehet az ideiglenes fájlrendszerek használata Linuxban, például a /tmp könyvtár, amelynek nincs szüksége nem illékony adatok fizikai tárolására.
Amikor systemd init rendszert használunk, a /tmp könyvtár alapértelmezés szerint tmpfs fájlrendszerként van csatolva. Tekintse meg ezt a szakaszt , hogy miként lehet ezt a viselkedést letiltani és manuálisan csatolni a /etc/fstab fájlban.
Telepítés
Kernel
A felhasználóknak engedélyezniük kell a következő kernelopciókat:
File systems --->
Pseudo filesystems --->
[*] Tmpfs virtual memory file system support (former shm fs)
[ ] Optional drivers
| Opció | Leírás |
|---|---|
| Tmpfs POSIX Access Control Lists | Engedélyezi az ACL jogosultságokat. |
| Tmpfs extended attributes | Engedélyezi a metaadat-támogatást. |
Használat
Hozza létre és csatolja fel a fájlrendszerbe a tmpfs fájlrendszert egyetlen lépésben:
root
#
mount -t tmpfs tmpfs /MOUNTPOINT
A felhasználók meghatározhatják a size csatolási opciót, hogy szabályozzák a fájlrendszer maximális méretét (alapértelmezés: a rendszer RAM memóriájának a fele). Fontos megjegyezni, hogy a tmpfs nem foglalja le ezt a memóriát előre, hanem csak a szükséges memóriát osztja ki.
systemd
Amikor systemd init rendszert használunk, a /tmp könyvtár alapértelmezés szerint tmpfs fájlrendszerként van felcsatolva a fájlrendszerbe, és egy alapértelmezett méretet kap, amely elég nagynak ítéltetik anélkül, hogy túl sok RAM memóriát használna fel.
A felhasználók megtekinthetik a csatolt ideiglenes fájlrendszereket az alábbi parancs segítségével:
root
#
findmnt --target /tmp
Ez megmutatja, hogy a /tmp csatolási pont egy tmpfs fájlrendszer-e, valamint az ilyen fájlrendszer méretét is megmutatja.
Annak érdekében, hogy letiltsa ezt a viselkedést, és visszanyerje a könyvtár feletti irányítást a /etc/fstab használatával, a felhasználónak a következő parancsot kell futtatnia:
root
#
systemctl mask tmp.mount
Ez a parancs most már nem csatolja a /tmp könyvtárat tmpfs fájlrendszerként, és automatikusan visszakapcsol egy blokkeszközre.
A felhasználóknak most hozzá kell adniuk egy új sort a /etc/fstab fájlban, amely manuálisan létrehoz egy tmpfs fájlrendszert a /tmp számára.
/etc/fstab
Példa a tmpfs fstab -ra
tmpfs /tmp tmpfs rw,nosuid,nodev,size=4G,mode=1777 0 0
OpenRC
Az OpenRC felhasználók egyszerűen hozzáadhatják a csatolási pontot a /etc/fstab fájlhoz:
/etc/fstab
Példa a tmpfs fstab -ra
tmpfs /tmp tmpfs rw,nosuid,nodev,size=4G,mode=1777 0 0
Ha a felhasználó más könyvtárak csatolásában is érdekelt a /tmp mellett, akkor először győződjön meg róla, hogy azok már használnak-e tmpfs fájlrendszert a findmnt parancs segítségével:
root
#
findmnt --target /<directory-to-check>
Következtetés
Az olyan nem illékony fájlok ideiglenes fájlrendszeren való tárolásának eredménye, mint például a /tmp könyvtár, az, hogy a rendszer rendkívül gyors és rugalmas hozzáférést biztosít a gyorsítótárazott fájlokhoz és a tárolt munkameneti médiához. Ez különösen hasznos lehet webböngészés során, mivel a sütik ezen az illékony médián tárolhatók, ami felgyorsítja az alkalmazást. Minden újraindításkor ezek törlik vagy a RAM memóriából eltávolítják. Ha a felhasználók olyan ideiglenes fájlokat kívánnak megőrizni, amelyek elemzéshez szükségesek, akkor kerülniük kell a tmpfs fájlrendszer használatát a /tmp és más könyvtárak esetében. Minden adat, amely a tmpfs csatolási ponton van tárolva, elveszik az operációs rendszer újraindításakor vagy leállításakor.
Technológiai fejlesztések
Néhány hardvergyártó olyan eszközöket kínál, amelyek lassabbak, mint a RAM memória, de gyorsabbak, mint az SSD adathordozók, és gyorsítótár-meghajtóként használhatók. Ezek az eszközök általában PCIe bővítőkártyán vannak elhelyezve, és vagy egy PCIe-ről M.2 csatlakozóra átalakítóval rendelkeznek, vagy maga a memóriamodul teljes egészében a PCIe kártyába van beépítve.
Ha a felhasználóknak nem illékony, nagy sebességű, sokoldalú megoldásra van szükségük, amely gyorsabb, mint az SSD/SAS/SATA, akkor ezek a nagy sebességű megoldások megfontolandók. Természetesen ezek az eszközök nem tmpfs fájlrendszerrel kell, hogy csatolva legyenek, hanem hagyományos partíció-alapú fájlrendszerrel.
Az Intel 3Dx Optane memória gyorsítótár is használható, amely bár sokoldalúbb, mint az SSD, még mindig ki van téve az elhasználódásnak. Ugyanakkor ez a technológia kiváló középutat kínál, amely a jövőbeli fejlesztésekkel tovább fog javulni, és megfelelő beállítás esetén sokkal gyorsabb számítási élményt biztosít.
További olvasnivaló a témában
- Portage TMPDIR on tmpfs — It is unlikely that tmpfs will provide any performance gain for modern systems
- Zram — a Linux kernel feature and userspace tools for creating compressible RAM-based block devices.