Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: /tmp — TUNING VÝKONU  (Přečteno 2024 krát)

beer

  • Host
/tmp — TUNING VÝKONU
« kdy: 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...
« Poslední změna: 13 Září 2012, 09:54:22 od beer »

beer

  • Host
Re:/tmp — TUNING VÝKONU
« Odpověď #1 kdy: 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
« Poslední změna: 13 Září 2012, 10:13:42 od beer »

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:/tmp — TUNING VÝKONU
« Odpověď #2 kdy: 13 Září 2012, 10:15:26 »
$source $mout_point none bind 0 0

^^ viz man mount a man fstab
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

beer

  • Host
Re:/tmp — TUNING VÝKONU
« Odpověď #3 kdy: 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
« Poslední změna: 19 Září 2012, 11:25:18 od beer »

beer

  • Host
Re:/tmp — TUNING VÝKONU
« Odpověď #4 kdy: 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
« Poslední změna: 19 Září 2012, 11:24:10 od beer »

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:/tmp — TUNING VÝKONU
« Odpověď #5 kdy: 19 Září 2012, 11:17:38 »
ne .. opravdu ne .. precti si prosim prvni dva odstavce z mount(8)
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Roman Vacho

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 6354
Re:/tmp — TUNING VÝKONU
« Odpověď #6 kdy: 24 Září 2012, 14:39:24 »
A až někdy naražíš na další problémy, mrkni na volby nosuid a exec.
Vyřešená vlákna je vhodné uzavřít "Topic Solved" dole pod vláknem.

Prosím označit text kódu v editoru # pro lepší formátování textu případného výpisu. Děkuji.

beer

  • Host
Re:/tmp — TUNING VÝKONU
« Odpověď #7 kdy: 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.

 

Provoz zaštiťuje spolek OpenAlt.