Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: Martin Šácha 27 Dubna 2011, 18:24:19
-
Zdravím,
lze v RAMce vytvořit (nejlépe on-the-fly) nějaký souborový systém, ten namountovat a "normálně" s ním pracovat?
Musím teď udělat místo na 2 HDD, různě komprimovat a zálohovat data z jednoho na druhý a napadlo mě, že bude rychlejší vytvářet archivy do RAMky a pak je zapsat na HDD vcelku, než střídavě z disku číst a zapisovat na něj, nehledě na obrovskou fragmentaci.
Máte někdo s filesystémy v RAMce nějakou zkušenost?
-
Nieco taketo?
http://www.vanemery.com/Linux/Ramdisk/ramdisk.html
osobne som to neskusal tak konkretne neporadim.
-
nebo mozna taky http://en.wikipedia.org/wiki/Tmpfs (http://en.wikipedia.org/wiki/Tmpfs)
-
mám na ramce /tmp, tahle řádka v /etc/fstab
tmpfs /tmp tmpfs defaults 0 0
on-the-fly třeba takhle
sudo mkdir /mnt/ram
sudo mount -t tmpfs tmpfs /mnt/ram
-
Pro běžnou výměnu dat máme v Ubuntu adresář /dev/shm/, který je na tmpfs v RAM. Jeho maximální velikost je standardně polovinou RAM, ale reálná se mění dynamicky s možností přetečení do swapu, pokud je RAM plná.
-
Pro běžnou výměnu dat máme v Ubuntu adresář /dev/shm/, který je na tmpfs v RAM. Jeho maximální velikost je standardně polovinou RAM, ale reálná se mění dynamicky s možností přetečení do swapu, pokud je RAM plná.
Výborné, díky, K++ :)
-
tak jsem se s jásotem unáhlil :(
Místo aby kopíroval větší soubory (1G+) do RAM, rve je rovnou do swapu...a přitom je ramka poloprázdná (54% z 8GiB).
-
das tady vypis?
df -Th
free
-
Nejspíš už budeš mít v RAM dost obsazeno jako vyrovnávací paměť a bude ji třeba uvolnit. Já právě nakopíroval 3GiB do /dev/shm v mé 6GiB RAM a ze swapu to vzalo 8KiB.
-
V normálním stavu:
sachy@lucid:~$ df -Th
Soub. systém Typ Velikost Užito Volno Uži% Připojeno do
/dev/sda1 ext4 11G 6,0G 4,0G 61% /
none devtmpfs 4,0G 308K 4,0G 1% /dev
none tmpfs 7,0G 4,5M 7,0G 1% /dev/shm
none tmpfs 4,0G 316K 4,0G 1% /var/run
none tmpfs 4,0G 0 4,0G 0% /var/lock
none tmpfs 4,0G 0 4,0G 0% /lib/init/rw
/dev/sdb5 fuseblk 456G 355G 102G 78% /media/disk
/dev/sda6 ext3 408G 256G 132G 67% /home
sachy@lucid:~$ free
total used free shared buffers cached
Mem: 8193992 2468812 5725180 0 160324 1446188
-/+ buffers/cache: 862300 7331692
Swap: 4000144 0 4000144
A po zkopírování souboru (4,1G) do /dev/shm/
sachy@lucid:~$ df -Th
Soub. systém Typ Velikost Užito Volno Uži% Připojeno do
/dev/sda1 ext4 11G 6,0G 4,0G 61% /
none devtmpfs 4,0G 308K 4,0G 1% /dev
none tmpfs 7,0G 4,2G 2,9G 60% /dev/shm
none tmpfs 4,0G 316K 4,0G 1% /var/run
none tmpfs 4,0G 0 4,0G 0% /var/lock
none tmpfs 4,0G 0 4,0G 0% /lib/init/rw
/dev/sdb5 fuseblk 456G 355G 102G 78% /media/disk
/dev/sda6 ext3 408G 255G 133G 66% /home
sachy@lucid:~$ free
total used free shared buffers cached
Mem: 8193992 8143084 50908 0 872 3743764
-/+ buffers/cache: 4398448 3795544
Swap: 4000144 1115340 2884804
Ještě dodám, že RAM je 8GiB a swap 4GiB.
PS - Conky ukazuje, že se používá 54% RAMky a 29% swapu.
-
Máš 8GiB RAM, víc jak polovinu ti zabírá systém, ty do toho cpeš další polovinu, to už jsi přes, a pak tu máme potřebu pro nějakou tu vyrovnávací paměť - to přeteče. Velikost tmpfs v /dev/shm jsi měnil že?
gdh@gdh-EP45-UD3P:~$ free
total used free shared buffers cached
Mem: 6124392 1693740 4430652 0 102584 478936
-/+ buffers/cache: 1112220 5012172
Swap: 6281404 0 6281404
gdh@gdh-EP45-UD3P:~$ free
total used free shared buffers cached
Mem: 6124392 6082260 42132 0 953048 3933372
-/+ buffers/cache: 1195840 4928552
Swap: 6281404 8 6281396
-
pokud mas 32 bitovy system (klidne i s PAE), tak ti nemuze neco v ramce zabirat 4GB (a vice).
Je to 64bit.
Máš 8GiB RAM, víc jak polovinu ti zabírá systém, ty do toho cpeš další polovinu, to už jsi přes, a pak tu máme potřebu pro nějakou tu vyrovnávací paměť - to přeteče. Velikost tmpfs v /dev/shm jsi měnil že?
Tak bude chyba v Conky, protože ukazuje využití RAMky jenom 54% a velkou haluz ve swapu...proto mi to přišlo divný.
Ano, velikost jsem měnil v fstab, aby se tam ten soubor vůbec vešel (v defaultu to nešlo).
tmpfs /dev/shm tmpfs defaults,size=7g 0 0
-
misto by tam byt melo. zkus snizit swappiness
-
Faktem je, že podle výpisu free bych také neočekával komplikace. Ovšem v mém případě to souhlasí i s tím co udává Conky - to při použití $mem nezahrnuje vyrovnávací paměť, kam se počítá i diskutovaný tmpfs.
[attachment deleted by admin]
-
Takže jsem měl špatně nastavené Conky - direktiva "no_buffers yes" vyrovnávací pamět ignoruje...takže jsem to změnil na "no_buffers no" a je po problému :)
Až mě překvapilo, jak rychle systém dokáže RAMku zabufferovat bordelem:)