Portál AbcLinuxu, 9. června 2025 00:21


Dotaz: Jak priradit aplikaci vic pameti?

9.12.2005 23:00 grigg | skóre: 12 | blog: grigg
Jak priradit aplikaci vic pameti?
Přečteno: 481×
Odpovědět | Admin
Vim o nice/renice, jenze to je jenom na uprednostneni ulohy planovacem. Jde mi o to jak obecne "rict" aplikaci pouzivej treba 128MB pameti. Jde to resit primo, nebo musim vytvaret ramdisk?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.12.2005 23:09 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: Jak priradit aplikaci vic pameti?
Odpovědět | | Sbalit | Link | Blokovat | Admin
aplikace dostane tolik paměti, kolik jí potřebuje (pokud je co uvolňovat, samozřejmě...). k čemu by měla mít aplikace víc paměti než potřebuje? co si od toho slibujete?
9.12.2005 23:23 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Jak priradit aplikaci vic pameti?
Přesně tak aplikace si požádá o příslušnou velikost a dastane ji od jádra pokud je k dispozici.
10.12.2005 00:56 grigg | skóre: 12 | blog: grigg
Rozbalit Rozbalit vše Re: Jak priradit aplikaci vic pameti?
Mel jsem na mysli rychlost behu.

Napr. renderovani v Blenderu. Na tuto myslenku me privedl kamarad co dela v Maya.

Diky za odpoved.
10.12.2005 13:44 next | skóre: 3
Rozbalit Rozbalit vše Re: Jak priradit aplikaci vic pameti?
S EUID 0 sa da na mmap()-ovane (myslim) stranky nastavit, ze nesmu ist do swapu. Robi to napr. gnupg so strankou, kde je ulozeny passphrase.

Ale pri blenderi, ktory spotrebuje vyrazne viac RAM ako gnupg (hlavne z relativneho hladiska - pomer k celkovo dostupnej RAM) by som to neriskoval. Mohlo by sa stat, ze ostane v pamati len kernel a blender a pocitac pojde do kytek.
Jan Zahornadsky avatar 10.12.2005 01:23 Jan Zahornadsky | skóre: 22 | blog: hans_blog
Rozbalit Rozbalit vše Re: Jak priradit aplikaci vic pameti?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Takhle přímo to asi nejde nikde omezovat... Pokud si aplikace o víc paměti nezažádá, není důvod jí ho dávat. A pokud bude potřebovat skutečně víc než bysme jí takto natvrdo přišili, tak by to asi neustála a nějakým způsobem zpanikařila.

Ale zajímalo by mě, jestli existuje nějaké "nice", které určuje, kterou aplikaci bude upřednostňovat ve swapu a kterou v RAM?
Actually, I was half an hour into the pointer scripting documentation when she got dressed and left.
10.12.2005 08:16 David Jaša | skóre: 44 | blog: Dejvův blog
Rozbalit Rozbalit vše Re: Jak priradit aplikaci vic pameti?
sysctl vm.swappiness ? To je ale nastavení pro celý systém.
Jan Zahornadsky avatar 10.12.2005 11:50 Jan Zahornadsky | skóre: 22 | blog: hans_blog
Rozbalit Rozbalit vše Re: Jak priradit aplikaci vic pameti?
O swappinessu vím, to není ono. Myslím něco spíš pro jednu aplikaci, že by se třeba (i bez zvláštního důvodu, jen proto, že má malou prioritu) její data dostávaly do swapu častěji. Ostatní si klidně hoví dál v ramce.
Actually, I was half an hour into the pointer scripting documentation when she got dressed and left.
10.12.2005 09:55 Asd
Rozbalit Rozbalit vše Re: Jak priradit aplikaci vic pameti?
Odpovědět | | Sbalit | Link | Blokovat | Admin
No pokud provozujes jen tu jednu aplikaci, tak neni duvod to nejak optimalizovat, teda az na vypnuti vsech zbytechnych sluzeb.

Ale dejme tomu, ze aplikace si vytvari docasne soubory treba v /tmp do kterych pravidelne zapisuje a jejich velikost treba nepresahne 3GB. To zjistis pomoci: lsof -p cisloprocesu (pod rootem nebo stejnym uzivatelem jako bezi ta aplikace. System pak treba pouzivas jeste jako klasicky desktop, ale jen "doplnkove" a prednost davas rychlemu dokonceni te jedne aplikace.

Tak podle toho kolik mas pameti a co vis o maximalni velikosti tech souboru v /tmp mas 2 moznosti jak to v takovym pripade zoptimalizovat.

Prvni moznost je pokud vis ze to neprekroci 3GB a mas treba 4GB RAM, tak te aplikaci vyrobit ramdisk a donutit ji, at uklada ne do /tmp, ale do toho ramdisku. V tomto pripade vlastne zabranis vytlaceni tech dat z pameti jinymy programy.

Druha moznost kdyz nevis presne, ale tipnes si, ze nikdy nepresahne 10GB, tak muzes vyrobit treba 12GB swap soubor a jako /tmp pouzit souborovy system tmpfs. Todle ale pomaha ve skutecnosti jen pokud aplikace nepouziva funkci mmap() na ten soubor z /tmp nebo pokud pouzije mmap jen pro hodne malou oblast souboru ve srovnani s tim kolik pameti bys mohl obetovat. To bys mohl zjistit pomoci strace -ff -p binarkaAplikace 2>/tmp/trace; tail -f /tmp/trace | egrep "open|mmap".

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.