Tmpfs: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 6: Line 6:
Tmpfs süsteemi kasud:
Tmpfs süsteemi kasud:


Dünaamiliselt muutuv failisüsteemi suurus, ehk kui kopeeritakse Tmpfs failisüsteemi täiendavaid faile, siis süsteem automaatselt suurendab Tmpfs failisüsteemi mälumahtu ning vastupidi, kui kustutada faile, siis süsteem vabastab ressursi virtuaalmälule. Tingimustes kus Virtuaalmälu hakkab väheks jääma ja swap on seadistatud, suudab süsteem suunata Tmpfs failiandmeid swap ruumi vabastamaks virtuaalmälu teisteks vajadusteks. Metadatat ja kataloogi sisu üldjuhul ei suunata swap vahendusel mujale.
Dünaamiliselt muutuv failisüsteemi suurus, ehk kui kopeeritakse Tmpfs failisüsteemi täiendavaid faile, siis süsteem automaatselt suurendab Tmpfs failisüsteemi mälumahtu ning vastupidi, kui kustutada faile, siis süsteem vabastab ressursi virtuaalmälule. Tingimustes kus Virtuaalmälu hakkab väheks jääma ja swap on seadistatud, suudab süsteem suunata Tmpfs failiandmeid swap ruumi, vabastades virtuaalmälu teisteks vajadusteks. Metadatat ja kataloogi sisukirjeldust üldjuhul ei suunata swap vahendusel, tõstetakse ringi ainult failide sisu.


Kiirus. Kuna Tmpfs süsteem hoiab failide metadatad ja ja faile virtuaalmälus, siis failide kirjutamine ja lugemine toimub praktiliselt silmapilkselt.
Kiirus. Kuna Tmpfs süsteem hoiab failide metadatad ja ja faile virtuaalmälus, siis failide kirjutamine ja lugemine toimub praktiliselt silmapilkselt.


Failide kustustamine toimub automaatselt, peale süsteemi taaskäivitamist.
Failide kustustamine toimub automaatselt, peale süsteemi taaskäivitamist või ''tmpfs''-i  lahtiühendamisel (''umount'' käsu abil).
 


==Tmpfs süsteemi täiendavate parameetrite võimalused==
size=bytes määratakse maksimaalne võimalik kasutatav mälu maht. Maht on etteantud bittides. on võimalik kasutada täpsustavaid parameetreid nagu k, m, g, ki, mi, bi ja %.(size=50%)
size=bytes määratakse maksimaalne võimalik kasutatav mälu maht. Maht on etteantud bittides. on võimalik kasutada täpsustavaid parameetreid nagu k, m, g, ki, mi, bi ja %.(size=50%)


Line 27: Line 27:


  mount -t tmpfs -o size=20m tmpfs /mnt/tmp
  mount -t tmpfs -o size=20m tmpfs /mnt/tmp
size=bytes määratakse maksimaalne võimalik kasutatav mälu maht. Maht on etteantud bittides. on võimalik kasutada täpsustavaid parameetreid nagu k, m, g, ki, mi, bi ja %.(size=50%)
''df -k'' käsu abil näeme, et viimane rida näitab eespool paigaldatud '''/mnt/tmp''' ''tmpfs'' faili süsteemi:
''df -k'' käsu abil näeme, et viimane rida näitab eespool paigaldatud '''/mnt/tmp''' ''tmpfs'' faili süsteemi:
  df -k
  df -k

Revision as of 21:12, 11 May 2018

in a progress...

Sissejuhatus

Tmpfs on ajutine failivaramu paljudes UNIXi-laadsetes operatsioonisüsteemides, mis hoiab faile virtuaalmälus. Ajutiselt tähendab seda, et reaalselt mitte ükski fail ei salvestu kõvakettale. tmpfs-i lahtiühendamisel (umount käsu abil) või peale süsteemi taaskäivitamist kõik, mis oli sinna salvestatud - kaob ära [1].

Tmpfs süsteemi kasud:

Dünaamiliselt muutuv failisüsteemi suurus, ehk kui kopeeritakse Tmpfs failisüsteemi täiendavaid faile, siis süsteem automaatselt suurendab Tmpfs failisüsteemi mälumahtu ning vastupidi, kui kustutada faile, siis süsteem vabastab ressursi virtuaalmälule. Tingimustes kus Virtuaalmälu hakkab väheks jääma ja swap on seadistatud, suudab süsteem suunata Tmpfs failiandmeid swap ruumi, vabastades virtuaalmälu teisteks vajadusteks. Metadatat ja kataloogi sisukirjeldust üldjuhul ei suunata swap vahendusel, tõstetakse ringi ainult failide sisu.

Kiirus. Kuna Tmpfs süsteem hoiab failide metadatad ja ja faile virtuaalmälus, siis failide kirjutamine ja lugemine toimub praktiliselt silmapilkselt.

Failide kustustamine toimub automaatselt, peale süsteemi taaskäivitamist või tmpfs-i lahtiühendamisel (umount käsu abil).


size=bytes määratakse maksimaalne võimalik kasutatav mälu maht. Maht on etteantud bittides. on võimalik kasutada täpsustavaid parameetreid nagu k, m, g, ki, mi, bi ja %.(size=50%)


http://man7.org/linux/man-pages/man5/tmpfs.5.html

Kuidas tmpfs töötab

Tmpfs’i abil on võimalik eraldada osa füüsilisest mälust, mida saab kasutada partitsioonina. Partitsiooni saate külge haakida (mount käsuga) ning hakata kirjutama ja lugema faile sama moodi, nagu kõvaketta partitsiooni puhul. Kuid kuna kirjutamine ja lugemine toimub muutmälus (RAM), muutub see oluliselt kiiremaks[2].

Kõigepealt on vaja luua kaust käsuga:

mkdir -p /mnt/tmp

Seejärel haakime külge tmpfs:

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

size=bytes määratakse maksimaalne võimalik kasutatav mälu maht. Maht on etteantud bittides. on võimalik kasutada täpsustavaid parameetreid nagu k, m, g, ki, mi, bi ja %.(size=50%) df -k käsu abil näeme, et viimane rida näitab eespool paigaldatud /mnt/tmp tmpfs faili süsteemi:

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

Kasutusalad

Mõningad katalogid mille puhul üldjuhul Tmpfs süsteemi kasutatakse on /tmp, /var/lock ja /var/run[3].

Kuid ei ole soovitatav kasutada /var/tmp katalogi puhul kuna antud katalogi failid on mõeldud säilima ka peale süsteemi taaskäivitust.


Tmpfs vs ramfs

Üldiselt nii tmpfs kui ka ramfs teevad sama asja väikeste erinevustega[4].

Tmpfs ja ramfs võrdlustabel
Võimalused Tmpfs Ramfs
Kasutab ära maksimum kettaruumi ning jätkab kirjutamist Kuvab veateade Jätkab kirjutamist
Piiratud maht Jah Ei
Kasutab Swap'i Jah Ei
Lühiajaline andmesalvestus Jah Jah

Kokkuvõte

Tmpfs’i on mõistlik kasutada kiiremaks juurdepääsuks andmetele, mis ei ole kriitilised.

Autor

Aleksandra Sepp AK21
veebruar 2018 a.

Kasutatud materjalid

  1. https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt
  2. https://wiki.centos.org/TipsAndTricks/TmpOnTmpfs
  3. https://www.thegeekstuff.com/2008/11/overview-of-ramfs-and-tmpfs-on-linux
  4. https://www.freebsd.org/cgi/man.cgi?query=tmpfs#end
  5. https://wiki.archlinux.org/index.php/tmpfs
  6. http://citforum.ru/operating_systems/linux/robbins/fs03.shtml