Portál AbcLinuxu, 5. května 2025 01:02

Dotaz: Uvolňování RAM na serveru

26.2.2009 20:06 HonzaS | skóre: 6
Uvolňování RAM na serveru
Přečteno: 811×
Odpovědět | Admin

Zdravím,

prosím o radu:

na server (jen v příkazové řádce, na sdílení souborů) přidána paměť (původně 1x 512 MB, nyní 2x 2 GB; swap zatím ponechán tak, jak byl = 1 GB). Zkusil jsem pootevírat ze serveru pár fotek, dokumentů - svištělo to jako nikdy (po tomto využitá paměť cca 15 %). Pak ze serveru zkopírován na jiný poč. soubor o vel. 4 GB - volná paměť se snížila na 2 %, něco málo je zabrané (cca 100 MB), zbytek v cache = cca 3,5 GB (free -m). V tomto okamžiku už je rychlost operací stejná jako za stavu RAM = 512 MB.

Jsem na server připojený pomocí Samby - napadá mě, že i když kopírování skončilo, proces smbd běží dál a paměť se tím pádem neuvolní.

- jádro by si toto mělo samo regulovat - a když ne, existuje na uvolnění paměti nějaký nástroj?
- lze nechat swap 1 GB nebo jej zvýšit na 2 GB (někde jsem se dočetl, že víc se nedoporučuje)?

Díky
HonzaS

 

 

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.2.2009 22:05 VM
Rozbalit Rozbalit vše Re: Uvolňování RAM na serveru
Odpovědět | | Sbalit | Link | Blokovat | Admin

Nechápu, v čem je problém. To že se všechna nepotřebná paměť automaticky použije jako cache je normální a žádoucí. Pokud ji nějaký proces chce, tak ji dostane.

26.2.2009 22:16 HonzaS
Rozbalit Rozbalit vše Re: Uvolňování RAM na serveru

Tomu rozumim; nechapu ale, proc v okamziku, kdy velka cast pameti byla jeste volna, tak ze stanic pripojenych na server vse fungovalo rychleji. Po presunuti do cache se vse zpomalilo.
Nebudu to ale resit; pokud to ma tak byt. :) Diky za odpoved.

Jeste ke swapu - je treba jej zvetsit, aby byl minimalne stejne velky jako RAM?

26.2.2009 22:44 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: Uvolňování RAM na serveru
Nie, netreba. Alebo mas pocit, ze tam bezis procesy, ktore potrebuju viac ako 4GB RAM? A ze by im pomohlo, keby sa odlozili na disk, ze sa tym nieco zlepsi? Ak nie, tak 1GB je dost. Aj tak sa to pouziva iba na odkladanie memory leakov, ktorych pri siroko rozsirenom serverovo nasadenom softe vela nebyva.
If you hold a Unix shell up to your ear, you can you hear the C.
26.2.2009 22:52 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Uvolňování RAM na serveru
Pojmy "rychle" a "pomale" su velmi vagne. Nasimuluj podmienky, urob viacnasobne merania a pozri sa na cisla. Nasledne opakovane nasimuluj "pomaly" variant a identifikuj uzke miesto. Mozno zistis, ze problem vobec nie je na inkriminovanom serveri, ale niekde uplne inde; napr. zalezi od prevadzky na sietovych komponentoch medzi serverom a klientom, alebo - ako ukazuje jedno tusim sunovske video, ktore sa mi momentalne nechce hladat - od hluku, alebo presnesie nim sposobenych vibracii.
AraxoN avatar 26.2.2009 23:16 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Uvolňování RAM na serveru

Asi myslíš toto video... Nikdy nekričte na svoj harddisk! :-D

26.2.2009 23:08 NN
Rozbalit Rozbalit vše Re: Uvolňování RAM na serveru
Odpovědět | | Sbalit | Link | Blokovat | Admin

Treba pomoci prikazu:

top

NN

26.2.2009 23:23 HonzaS
Rozbalit Rozbalit vše Re: Uvolňování RAM na serveru
Odpovědět | | Sbalit | Link | Blokovat | Admin

Diky za odpovedi, hlavne jsem potreboval mit jistotu ohledne swapu, zda jej nezvetsit. Po pravde - nevim, cim to je, ale nyni to bezi znovu vyborne, i kdyz jsem server s pametmi testoval jen ja. Uvidim, co bude zitra s plnou zatezi.

Preji pekny zbytek dne.

27.2.2009 11:23 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Uvolňování RAM na serveru
Odpovědět | | Sbalit | Link | Blokovat | Admin
i když kopírování skončilo, proces smbd běží dál a paměť se tím pádem neuvolní
To se ale týká pouze paměti, kterou alokuje ten proces, nikoliv cache, kterou využil pro kopírování. Proces se neukončuje z dobrého důvodu a tím je právě rychlost, kdyby měl kvůli každému požadavku nabíhat nový proces, tak se zblázníte.

Obecně si myslím, že ať budete mít paměť jakkoliv velkou, tak při dostatečném počtu různých souborů budete nakonec stejně omezen rychlostí disku. Zejména pokud děláte na disk zápisy, a používáte žurnálovací FS, nebo RAID. Velká paměť Vám obecně pouze udělá dobro v tom, že často otevírané soubory pro čtení nemusí být pokaždé nataženy z disku.
In Ada the typical infinite loop would normally be terminated by detonation.
27.2.2009 12:56 HonzaS | skóre: 6
Rozbalit Rozbalit vše Re: Uvolňování RAM na serveru

Díky za tip, dalším krokem tedy bude pořídit rychlejší disky, což ale bude náročnejší prosadit. :) Jsou tam 2 menší SATA disky (RAID 1) na systém + zálohy a 2 velké (320 GB) IDE disky na zakázky (rovněž RAID 1). Zkusím zjistit, jak moc by se vyplatilo koupit něco rychlejšího.

Nemáte tip - je nějaký nástroj, jak spočítat rychlost čtení zápisu dat v závislosti na veškerém HW? Toto je pro mě španělský venkov. Představoval bych si to tak, že spočítám rychlost při stávajícím HW a běžném zatížení serveru a pak zadám do programu jiný HW (místo IDE disků např. SCSI).

Díky

27.2.2009 14:40 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Uvolňování RAM na serveru
Tomu moc nerozumím, chcete program který něco vypočte hypoteticky? To by asi nemělo moc velký význam. Já bych zas tak hr na nákup HW nebyl, mnohé lze docílit i se stávajícím HW. Předně bych zjistil, jaký máte typický provoz na serveru, pak bych se pokusil změřit úzké místo a pak bych teprv spekuloval o řešení. Bohužel v té fázi zjišťování strávíte hodně času a nevyhnete se metodám pokusu a omyl. Ten zjišťovací program nemusí mít charakteristiku nějakého mega benchmarku, stačí Vám stopky a průzkumník na klientské stanici, nebo nástroje pro běžnou práci se soubory na serveru.
In Ada the typical infinite loop would normally be terminated by detonation.
27.2.2009 15:07 VM
Rozbalit Rozbalit vše Re: Uvolňování RAM na serveru
Odpovědět | | Sbalit | Link | Blokovat | Admin

Můžete tam zkusit spustit benchmark "dbench" v několika procesech, a uděláte si jistou představu, jakou má ten disk s filesysémem propustnost. Pokud nebude stačit, nezbyde než rychlejší disky (např. 10k rpms, případně LVM na několika fyzických zařízeních se stripováním).

Pokud má filesystém dostatečnou propustnost, pak je problém jinde (síť, samba).

27.2.2009 18:44 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Uvolňování RAM na serveru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nástroj na uvolnění paměti je nesmysl, pokud správně funguje správa paměti v jádře. A pokud funguje špatně, je lepší jí opravit, než vymýšlet nějaký podobný nástroj. Systém buď další paměť nepotřebuje, pak je zbytečné ji uvolňovat, nebo ji potřebuje, a pak ji dokáže získat, pokud ještě nějaká paměť k uvolnění je.

Ve vašem případě záleží na tom, jak se systém chová dál. Pokud už zůstane v tom pomalejším režimu, je něco špatně. Pokud rychlost zase obnoví, je to v pořádku. Kopírování souboru vytlačilo z cache na disk jiné věci, a samozřejmě pak zase nějakou dobu bude trvat, než se ty ostatní věci nahrají zpátky do cache nebo do paměti.

Velikost swapu + velikost RAM by dohromady měla dát maximální velikost paměti, kterou budou potřebovat dohromady všechny spuštěné úlohy ve špičce. Z toho vy velikost RAM měla být velikost paměti, kterou budou maximálně potřebovat všechny aktivní úlohy. Tj. např. pokud byste měl na desktopu jen OOo a Firefox a nic jiného (ani jádro nebo X) paměť nepotřebovalo a OOo by zabral maximálně 500 MB a Firefox maximálně 1 GB, potřebujete 1,5 GB RAM (a swap nepotřebujete) v případě, kdy budete obě aplikace používat naráz; nebo potřebujete 1 GB RAM a 500 MB swap v případě, kdy aplikace mají běžet najednou ale používat budete jenom jednu z nich – velmi zhruba řečeno, nepočítám s diskovou cache, časem potřebným ke swapování ani prostorem potřebným k výměně dat mezi swapem a RAM. Ale je to takový základní návod, podle čeho zhruba dimenzovat velikost RAM a swap.

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.