Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: beer 13 Září 2012, 09:41:22

Název: /tmp — TUNING VÝKONU
Přispěvatel: beer 13 Září 2012, 09:41:22
Aktuálně mám speciální oddíl pro dočasné soubory, kde nemám žurnálování a čas posledního přístupu.
Aby se tam vešlo například celé dvouvrstvé dvd, jeho velikost mám přesahující 10 GB.

Protože chci ze svého systému se 4 GB ram dosáhnout maximum a ram mám nevyužitou, tak jsem si nastavil v /etc/fstab, že oddíl /tmp ze samotného oddílu přejmenuji na /tmp2 a /tmp jako takové bude v ram (tmpfs), po překročení velikosti poloviny ram aby z tmpfs přeteklo do /tmp2.

tmp mám tedy nyní v /etc/fstab takto:
Kód: [Vybrat]
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0,
tmp2 je namountováno v /etc/fstab klasicky přes UUID, jak jsem měl původní tmp, jen jsem přepsal na tmp2, vytvořil přes mkdir /tmp2 a nastavil práva takto:
Kód: [Vybrat]
chmod 1777 /tmp2.

Co ale nevím, je jestli se musí to spojení přes mount --bind /tmp2 /tmp spouštět ručně například v /etc/rc.local, nebo to stačí udělat pouze jednou, či zdali je to možné nějak zapsat do /etc/fstab, aby se dle uvedeného souboru realizovalo automaticky...
Název: Re:/tmp — TUNING VÝKONU
Přispěvatel: beer 13 Září 2012, 10:09:30
Něco je zde:

http://docs.1h.com/Bind_mounts
http://www.linuxexpres.cz/praxe/vyuzitie-tmp-adresara-v-ram

nicméně bohužel není z žádného článku zřejmé, jestli přežije procedura mount --bind restart, nebo ne, jestli je možné zapsat do /etc/fstab a jak.


Šlo by to takto?
Kód: [Vybrat]
/tmp2 /tmp none defaults,noatime,mode=1777,bind 0 0
Název: Re:/tmp — TUNING VÝKONU
Přispěvatel: ntz_reloaded 13 Září 2012, 10:15:26
$source $mout_point none bind 0 0

^^ viz man mount a man fstab
Název: Re:/tmp — TUNING VÝKONU
Přispěvatel: beer 13 Září 2012, 10:23:09
$source $mout_point none bind 0 0

^^ viz man mount a man fstab

Díky, takže předpokládám, že tak, jak jsem to zapsal, by fungovalo, nicméně ty parametry noatime, defaults a mode=1777 jsou tedy v tomto případě nadbytečné, protože už jsou určeny na samostatném řádku pro /tmp.

To by tedy stačilo takto:

Kód: [Vybrat]
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
UUID=XXXXXXXX /tmp2 ext2 noatime,defaults 0 0
/tmp2 /tmp none bind 0 0

Možná to ale komplikuji, možná by to stačilo celé zjednodušit takto, složka /tmp2 by pak postrádala smysl:
Kód: [Vybrat]
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
UUID=XXXXXXXX /tmp ext2 noatime,default,bind 0 0

edit, funguje jen toto:
Kód: [Vybrat]
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
UUID=XXXXXXXX /tmp2 ext2 noatime,defaults 0 0
/tmp2 /tmp none bind 0 0
Název: Re:/tmp — TUNING VÝKONU
Přispěvatel: beer 13 Září 2012, 10:44:51
Nebo možná by to šlo i takto, tím bych vypnul přeskočení do swapu při zaplněné ram, ale otázka, co by se stalo po překročení 2 GB? Zapisovalo by to do ext2, jak zamýšlím?

Kód: [Vybrat]
none /tmp ramfs defaults,noatime,mode=1777,size=2048M 0 0
UUID=XXXXXXXX /tmp ext2 noatime,defaults,bind 0 0

edit: toto nefunguje
Název: Re:/tmp — TUNING VÝKONU
Přispěvatel: ntz_reloaded 19 Září 2012, 11:17:38
ne .. opravdu ne .. precti si prosim prvni dva odstavce z mount(8)
Název: Re:/tmp — TUNING VÝKONU
Přispěvatel: Roman Vacho 24 Září 2012, 14:39:24
A až někdy naražíš na další problémy, mrkni na volby nosuid a exec.
Název: Re:/tmp — TUNING VÝKONU
Přispěvatel: beer 24 Září 2012, 15:45:03
A až někdy naražíš na další problémy, mrkni na volby nosuid a exec.

Kód: [Vybrat]
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
UUID=XXXXXXXX /tmp2 ext2 noatime,defaults 0 0
/tmp2 /tmp none bind 0 0

Takto to celkem fungovalo, nosuid a exec jsem dávat nemusel. Nicméně, možná má ntz pravdu s tou volbou bind, že to není funkční a že to nedělá, to co jsem zamýšlel. Je možné, že mi to /tmp ukousne polovičku ram, ale systém zároveň ukládal i na ext2, takže ve výsledku ram je blokovaná pro tmp zbytečně, když se použije diskový oddíl, nevím, jak to aktuálně ověřit. Ale vzhledem k tomu, že to i swapovalo, sice málo, ale přece, tak to nebylo žádné terno.

Prozatím jsem to vyřešil tak, že jsem ponechal jen:
Kód: [Vybrat]
tmpfs /tmp tmpfs defaults,noatime,mode=1777,size=1024M 0 0
na bind  a na /tmp2 jsem se vykašlal. Pokud bude nějaký problém s vypalovacími programy, tak dočasně namountuji /tmp2 do /tmp s volbou bind.