Tmpfs: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Alsepp (talk | contribs)
No edit summary
Edmund (talk | contribs)
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
in a progress...
 
[[File:Tmpfs.jpg|right|]]
[[File:Tmpfs.jpg|right|]]
==Sissejuhatus==
==Sissejuhatus==
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 saaleala on seadistatud, suudab süsteem suunata Tmpfs failiandmeid saalealale, vabastades virtuaalmälu teisteks vajadusteks. Metaandmeid ja kataloogi sisukirjeldust üldjuhul ei suunata saaleala 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 metaandmed 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).
 
==Kasutusvaldkond==
Mõningad katalogid mille puhul üldjuhul Tmpfs süsteemi kasutatakse on /tmp, /var/lock ja /var/run. Kuid ei ole soovitatav kasutada /var/tmp katalogi puhul kuna antud katalogi failid on mõeldud säilima ka peale süsteemi taaskäivitust.




==Kuidas tmpfs töötab==
==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 ([https://wiki.itcollege.ee/index.php/RAM_drive RAM]), muutub see oluliselt kiiremaks[https://www.thegeekstuff.com/2008/11/overview-of-ramfs-and-tmpfs-on-linux].
''Tmpfs''’i abil on võimalik eraldada osa füüsilisest mälust, mida saab kasutada kettajaona. Kettajagu saate külge ühendada (''mount'' käsuga) ning hakata kirjutama ja lugema faile sama moodi, nagu kõvaketta kettajao puhul. Kuid kuna kirjutamine ja lugemine toimub muutmälus ([https://wiki.itcollege.ee/index.php/RAM_drive RAM]), muutub see oluliselt kiiremaks[https://www.thegeekstuff.com/2008/11/overview-of-ramfs-and-tmpfs-on-linux].


Kõigepealt on vaja luua kaust käsuga:
Kõigepealt on vaja luua kaust käsuga:
  mkdir -p /mnt/tmp
  mkdir -p /mnt/tmp
Seejärel haakime külge ''tmpfs'':
Seejärel ühendame külge ''tmpfs'':
  mount -t tmpfs tmpfs /tmp
  mount -t tmpfs tmpfs /tmp


  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
Line 34: Line 33:


==Kasutusalad==  
==Kasutusalad==  
Kataloogid, kus tmpfs'i kasutamine on enamlevinud on '''/tmp''', '''/var/lock''' ja '''/var/run'''[https://wiki.archlinux.org/index.php/tmpfs].
Mõningad kataloogid mille puhul üldjuhul Tmpfs süsteemi kasutatakse on '''/tmp''', '''/var/lock''' ja '''/var/run'''[https://wiki.archlinux.org/index.php/tmpfs].


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




Line 50: Line 50:
| Piiratud maht || Jah || Ei
| Piiratud maht || Jah || Ei
|-
|-
| Kasutab Swap'i || Jah || Ei
| Kasutab saaleala || Jah || Ei
|-
|-
| Lühiajaline andmesalvestus || Jah || Jah
| Lühiajaline andmesalvestus || Jah || Jah

Latest revision as of 14:04, 12 May 2018

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 saaleala on seadistatud, suudab süsteem suunata Tmpfs failiandmeid saalealale, vabastades virtuaalmälu teisteks vajadusteks. Metaandmeid ja kataloogi sisukirjeldust üldjuhul ei suunata saaleala vahendusel, tõstetakse ringi ainult failide sisu.

Kiirus. Kuna Tmpfs süsteem hoiab failide metaandmed 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).


Kuidas tmpfs töötab

Tmpfs’i abil on võimalik eraldada osa füüsilisest mälust, mida saab kasutada kettajaona. Kettajagu saate külge ühendada (mount käsuga) ning hakata kirjutama ja lugema faile sama moodi, nagu kõvaketta kettajao 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 ühendame 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 kataloogid mille puhul üldjuhul Tmpfs süsteemi kasutatakse on /tmp, /var/lock ja /var/run[3].

Kuid ei ole soovitatav kasutada /var/tmp kataloogi puhul kuna antud kataloogi 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 saaleala 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