Portál AbcLinuxu, 31. října 2025 17:58
 28.4.2006 08:17
Josef Kufner             | skóre: 70
        28.4.2006 08:17
Josef Kufner             | skóre: 70
            
            
        My 2 cents: Doporucuji vynechat uplne /tmp a pouzit pro nej tmpfs. Napr radkou do /etc/fstab :
none                    /tmp            tmpfs           defaults              ,size=1500m  0 0
nebo date link do /dev/shm, ale ja mam lepsi zkusenosti s timhle.
Defaultni velikost tmpfs je pulka fyzicke pameti, coz casto staci pro normalni provoz, ale pro napr. kompilace na gentoo ne  .
.
Dokud mate aspon nejakou volnou pamet, tak ctete a ukladate primo z ni, jinak se to, co se zrovna neuziva dava do swapu a ani to neni o moc pomalejsi, nez normalni disk. Ze zkusenosti na gentoo mohu potvrdit, ze prumerne velke preklady uz jen preklad uvnitr tmpfs docela dost urychli. Pak uz vam staci sdilet jen swap odpovidajici velikosti, nebo muzete mit jen zakladni maly swap a tmpfs a pokud potrebujete vetsi tmpfs, tak si ho na tu chvili rozsirite (dejme tomu, ze mate dost mista na /data a jen zakladni velikost tmpfs, napr 256MB, chcete pridat tolik, abyste meli pres 1GB v /tmp).
root> dd if=/dev/zero of=/data/swapfile001.swp bs=1024 count=524288
root> dd if=/dev/zero of=/data/swapfile002.swp bs=1024 count=524288
root> mkswap -L swap001 /data/swapfile001.swp && swapon /data/swapfile001.swp
root> mkswap -L swap002 /data/swapfile002.swp && swapon /data/swapfile002.swp
root> mount -o remount,size=1024m /tmp
Pochopitelne je lepsi to udelat skriptem a spojovani vice mensich swapsouboru mam ve zvyku kvuli kratsi dobe jejich znovuvytvareni, kdyz jeden z nich smazu a lepsimu chovani, krom toho nemusim mazat vsechno, pokud zrovna na /data potrebuji o pul GB vic mista na neco, co pozdeji zase zrusim. Vytvorit swapsoubory potrebujete pochopitelne jen jednou a slouzit mohou, dokud je nesmazete. Za beznych okolnosti si system dal vesele swapuje na partition, jen pokud se rozsoupnete v /tmp, tak pouzije i soubory. A pokud se rozsupujete stale, tak uz je stejne lepsi mit radeji vetsi tu swap partition a hratky s pridavnymi soubory vam odpadnou. Obecne ale na vasem desktopu staci tohle, a na serveru na swapu setrit vlastne nemusite a nechcete  .
.
Jako dodatecny benefit pak pouziti tmpfs pro /tmp je to, ze po rebootu je v /tmp vzdycky cisto  . Vlaste je to ucinne proti uzivatelum a programum, kteri ignoruji rozdily v urceni mezi /tmp, /var/tmp a dlouhodobym datovym ulozistem.
. Vlaste je to ucinne proti uzivatelum a programum, kteri ignoruji rozdily v urceni mezi /tmp, /var/tmp a dlouhodobym datovym ulozistem.
Tmpfs je jen v pameti. Takze nikdy zadne disky, nikdy zadne cekani na hlavicky, nikdy zadne zapisy do logu metadat, nikdy nic takoveho. BTW, sync se dela tusim kazdych 30 sekund. Vytvareni a opetovne ruseni tisicu malych souboru poruznu ve filesystemu je skutecne radikalne rychlejsi v tmpfs. Jak spravne rikate, veci se maji uzivat k tomu, k cemu jsou. Vsimnete si, ze nenavrhuju si tam zridit ftp uloziste nebo tam umistit databazi  .
.
Proc to prosim nezkusite, nez me smetete ze stolu kategorickym tvrzenim zalozenym na predpokladu, ze "se to preci takhle ma chovat" a na predpokladu, ze snad mam na mysli uziti /tmp k necemu jinemu, nez je, to jest k docasnym souborum, ktere vetsinou byvaji kratkodobe a znacne male, za to jich ale byva mraky. Zkusil jste treba u sendmailu (na hodne zatizenem stroji, samozrejme) dat nekdy xf subfrontu do tmpfs a porovnat to se stavem, kdy je xf na disku? Ja fakt nemohu za to, ze temporary filesystem je vytecna vec prave pro temporary filesystemy  . Hadat se nebudu a nechci, neni to zapotrebi. Kdo chce, zkusi nebo aspon zagoogli a uvidi sam. Kdo nechce, toho nepresvedci nic. Hezky den.
. Hadat se nebudu a nechci, neni to zapotrebi. Kdo chce, zkusi nebo aspon zagoogli a uvidi sam. Kdo nechce, toho nepresvedci nic. Hezky den. 
Jeste male upresneni, mozna to vyznelo jinak, nez jsem chtel: tmpfs NENI ramdisk. Tedy melo byt nikoli pouze "je jen v pameti", ale "je jen ve virtualni pameti". Procesum misto nijak zvlast neubira, a pokud skutecne pocitate kazdy byte fyzicke pameti pro procesy, tak opravdu neni pro vas nic, co pameti jakkoli plytva, ale o extremech se snad nebavime (a i tehdy vam tmpfs pomuze, jen v nem asi nebudete nic prekladat  .
Pokud nekdo chce odkazy na zkusenosti, at zagoogli a hlavne zkusi.
.
Pokud nekdo chce odkazy na zkusenosti, at zagoogli a hlavne zkusi.
 29.4.2006 10:10
Adrin             | skóre: 13
             | blog: kosmopako
        29.4.2006 10:10
Adrin             | skóre: 13
             | blog: kosmopako
            
         ? Pokud máš 2GB RAM, z toho zaplněnou jenom polovinu, tak stejně neswapuješ.
? Pokud máš 2GB RAM, z toho zaplněnou jenom polovinu, tak stejně neswapuješ.
             . Navíc tam v diskusi byla spousta argumentů o swapovacích algoritmech jádra. Ale pokud se swap vypne, tak ty vůbec nepřijdou ke slovu.
Swap má za úkol levně rozšířit dostupné množství paměti tak, že se část dat odloží na disk, který je levnější, než paměť. Pokud udělám swap v RAM, tak tím nezískám žádnou paměť navíc a tím i padá hlavní důvod, proč swap dělat. Navíc, pokud se příliš nepletu, při odswapování stránek se data vždy kopírují. Přestože v našem případě jen v rámci paměti, je to zbytečné. Navíc se data ve swapu nedají přímo adresovat, musí se řešit výpadek stránky a přemapování (sice tu nejvíce práce "odře" MMU v procesoru, ale i tak). Pokud by ta data byla v klasické RAM, nic z toho se dělat nemusí.
Takže pokud mám 256MB RAM a udělám 512MB swap, získám 256+512MB virtuální paměti. Pokud mám 2GB a z jednoho GB udělám swap, dostanu rovněž 2GB paměti + zvýšenou režii při zbytečném swapování.
. Navíc tam v diskusi byla spousta argumentů o swapovacích algoritmech jádra. Ale pokud se swap vypne, tak ty vůbec nepřijdou ke slovu.
Swap má za úkol levně rozšířit dostupné množství paměti tak, že se část dat odloží na disk, který je levnější, než paměť. Pokud udělám swap v RAM, tak tím nezískám žádnou paměť navíc a tím i padá hlavní důvod, proč swap dělat. Navíc, pokud se příliš nepletu, při odswapování stránek se data vždy kopírují. Přestože v našem případě jen v rámci paměti, je to zbytečné. Navíc se data ve swapu nedají přímo adresovat, musí se řešit výpadek stránky a přemapování (sice tu nejvíce práce "odře" MMU v procesoru, ale i tak). Pokud by ta data byla v klasické RAM, nic z toho se dělat nemusí.
Takže pokud mám 256MB RAM a udělám 512MB swap, získám 256+512MB virtuální paměti. Pokud mám 2GB a z jednoho GB udělám swap, dostanu rovněž 2GB paměti + zvýšenou režii při zbytečném swapování.
             Já teď řeším jiný problém, potřebuji si přikoupit RAMku, nějak mě začíná docházet.
 Já teď řeším jiný problém, potřebuji si přikoupit RAMku, nějak mě začíná docházet.
             30.4.2006 14:36
Adrin             | skóre: 13
             | blog: kosmopako
        30.4.2006 14:36
Adrin             | skóre: 13
             | blog: kosmopako
            
        BTW, sync se dela tusim kazdych 30 sekund.
Pán je na první pohled odborník  No zbytek nemá asi ani cenu číst. Ta doba je mnohem delší. Doporučuji si ji zjistit. To vaše řešení může některé operaci zrychlit jen a pouze při splnění několika podmínek. 1) Ty soubory musí být uloženy déle než je sync interval jádra, protože jen tehdy se skutečně fyzicky uloží na disk. Pokud je totiž smažete dřív, tak se na disk nezapíšou ani nesmažou. Prostě se to celé odehraje v paměti. A ta doba je rozhodně víc než 30s. 2) Jejich objem musí být menší než velikost dostupné RAM pro tmpfs, protože jinak by se musely stejně uložit na disk tak jako tak. Prostě by se odswapovaly. Akorát si tak domršíte memmory management jak už jsem popsal v předchozím přízpěvku.
 No zbytek nemá asi ani cenu číst. Ta doba je mnohem delší. Doporučuji si ji zjistit. To vaše řešení může některé operaci zrychlit jen a pouze při splnění několika podmínek. 1) Ty soubory musí být uloženy déle než je sync interval jádra, protože jen tehdy se skutečně fyzicky uloží na disk. Pokud je totiž smažete dřív, tak se na disk nezapíšou ani nesmažou. Prostě se to celé odehraje v paměti. A ta doba je rozhodně víc než 30s. 2) Jejich objem musí být menší než velikost dostupné RAM pro tmpfs, protože jinak by se musely stejně uložit na disk tak jako tak. Prostě by se odswapovaly. Akorát si tak domršíte memmory management jak už jsem popsal v předchozím přízpěvku.
OK. Takže pokud máte hodně nevyužité RAM při běžném provozu a potřebujete do /tmp uložit data, která jsou menší než tato nevyužitá RAM (aby se neodswapovaly) na dobu delší než je sync interval (jinak by se to stejně nezapsalo), tak si skutečně pomůžete. Pak jste šťastný muž. Z toho my vyplývá, že jste hodně bohatý, nebo provádíte nějakou hodně časově náročnou operaci s relativně malým objemem dat.
 
            Já jsem měl na mysli hlavně tu možnost specifikovat si kódování pro ext oddíl.To já taky, s joliet sice sem-tam problémy jsou, ale pokud používám ext3 jako datovou partišnu pro W i L, tak prostě diakritiku použít nesmím. Sám sebe ohlídám, ale to přejmenovávání všeho, co mi dojde, mě nebaví.
 8.5.2006 16:20
Luboš Doležel (Doli)             | skóre: 98
             | blog: Doliho blog
             | Kladensko
        8.5.2006 16:20
Luboš Doležel (Doli)             | skóre: 98
             | blog: Doliho blog
             | Kladensko
        /etc/rc.d/rc.local (pokud se moc nepletu).
            /etc/rcS.d (v SysV initu) hned za mount věcí z fstabu - potom tam už mohou být soubory běžících programů a ty není záhodno mazat...
             tak me napada, ze se podivam na nejaky slack, to bude momentik.
 tak me napada, ze se podivam na nejaky slack, to bude momentik.  takze v tom souboru je komentar:
# Remove stale locks and junk files
tak tam staci doplnit adresare, ktere chcete vymazat
takze v tom souboru je komentar:
# Remove stale locks and junk files
tak tam staci doplnit adresare, ktere chcete vymazat  
            
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.