Tmpfs: Difference between revisions

From ICO wiki
Jump to navigationJump to search
 
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
in a progress...
 
[[File:Tmpfs.jpg|right|]]
[[File:Tmpfs.jpg|right|]]
==Sissejuhatus==
==Sissejuhatus==
'''Tmpfs''' on ajutine failivaramu paljudes UNIXi-laadsetes operatsioonisüsteemides, mis hoiab kõiki faile virtuaalmälus. Ajutine tähendab seda, et reaalselt mitte ükski fail ei salvestu kõvakettale. ''tmpfs''-i  lahtiühendamisel (''umount'' käsu abil) kõik, mis oli sinna salvestatud - peale taaskäivitamist kaob ära [https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt].
'''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 [https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt].
 
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==
==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 RAM-is, 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 -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 20: 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 27: Line 41:
Üldiselt nii tmpfs kui ka ramfs teevad sama asja väikeste erinevustega[https://www.thegeekstuff.com/2008/11/overview-of-ramfs-and-tmpfs-on-linux].
Üldiselt nii tmpfs kui ka ramfs teevad sama asja väikeste erinevustega[https://www.thegeekstuff.com/2008/11/overview-of-ramfs-and-tmpfs-on-linux].


{| class="wikitable"
|+ 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==
==Kokkuvõte==
Line 41: Line 68:
#https://www.freebsd.org/cgi/man.cgi?query=tmpfs#end <br/>
#https://www.freebsd.org/cgi/man.cgi?query=tmpfs#end <br/>
#https://wiki.archlinux.org/index.php/tmpfs
#https://wiki.archlinux.org/index.php/tmpfs
#http://citforum.ru/operating_systems/linux/robbins/fs03.shtml


[[Category:Andmesalvestustehnoloogiad]]
[[Category:Andmesalvestustehnoloogiad]]

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