On Thursday 05 January 2006 09:10, Tarhon-Onu Victor wrote:
> On Thu, 5 Jan 2006, Octavian Rasnita wrote:
> > La 1 GB de memorie, cam cat crezi ca ar fi potrivit de mare swap-ul?
> >
> > 150%, 200%?
>
>       Nu merge cu procente. La 8GB ram iti iei un hdd separat pentru
> swap? Nu merita si nu functioneaza asa!:)
>       Depinde la ce ai nevoie de masina aia. Daca e un workstation sau
> un server atunci 1GB sau 1.5GB ar fi ok. Daca e un router atunci
> probabil 512MB swap (sa nu zici ca nu are) ar fi suficient.
>       Memoria swap este de obicei pentru urgente, atunci cind nu mai
> incap lucrurile in ram. Pe de alta parte daca aceasta memorie pentru
> urgente (care e futere de lenta) ti se umple si mai este si mare (cum ai
> tu, 4GB) atunci vei avea foarte mult disk i/o si masina aia probabil nu
> se va mai misca deloc si ai prefera ca mai degraba oom killer-ul sa
> omoare ceva procese si sa mai elibereze din memorie.
>       In viata de zi cu zi, daca la 1GB de ram ai 1GB de swap ocupat
> deja ar trebui sa te ingrijorezi. Daca ajungi la 1.5-2GB de swap ocupati
> deja esti la limita si ai mari probleme. Daca dintr-un motiv sau altul
> memoria nu se elibereaza iar tu ai si mai mult swap disponibil (4GB) si
> procesele continua sa ruleze sau sa se "nasca" si sa ocupe memorie,
> atunci you're fucked.
>       Cu alte cuvinte, decit sa faci o partitie de swap cu 2GB mai
> mare (pentru ca stii ca vei avea nevoie de mai multa memorie virtuala
> disponibila) atunci mai eficient (dpdv. al SO-ului, nu neaparat si al
> costurilor) ar fi sa-ti mai iei inca 512MB ram.

Mie mi se pare ca valorile pe care le dai tu sunt prea mari.

GB de swap au sens numai pentru aplicatii gen Oracle.  Acolo poti sa ai 2-4 GB 
de swap.  Dar trebuie sa ai si GB de RAM.

Pentru statia mea desktop am 256 MB de swap la 512 MB RAM.

Regula cu swap=2*ram era valabila daca aveai RAM pana la 128 MB.  De la 256 MB 
RAM incolo, nu prea se mai aplica, e suficient 256 MB de swap.

Cel mai simplu este sa stai cu ochii pe swap o perioada.  De ex., pentru 
desktop, KDE-ul are un applet numit "System Monitor" care arata si cat swap e 
ocupat.  Pentru servere sunt diverse tool-uri care pot monitoriza, scoate 
grafice etc.  Cel mai simplu e sa dai un "free" din cand in cand.

Daca, in urma observatiilor, swap-ul ajunge sa se ocupe >80%, mai trebuie 
marit.  De fapt, mai trebuie adaugata memorie.

Daca swap-ul ajunge vreodata 100%, sistemul intra in rahat.  Incepe sa frece 
discul si nu mai raspunde decat foarte greu la orice, miscat mouse, comenzi 
la consola etc.

Este una dintre problemele nasoale de pe Linux.  Noroc ca se intampla rar.  Am 
vazut ca nu se implementeaza in vanilla kernel un algoritm de alocare 
dinamica a swapului de frica eventualelor procese runaway, care aloca si 
aloca si aloca pana umplu tot discul...  Dar parerea mea este ca n-ar strica 
sa se implementeze alocare dinamica intre niste limite.  Adica, sa aloce 
dinamic swap pana cand ajunge la o limita maxima prestabilita (de ex. 1 GB), 
si apoi sa intre in rahat.  Asta ar ajuta la:
1. economie spatiu disc.  swap alocat numai la nevoie.
2. limitarea efectelor proceselor runaway

Am intrebat mai demult asta pe lkml si m-au cam desfiintat cu faptul ca 
"diskspace is almost free" si ca ar trebui alocat de la inceput swap la 
limita maxima pe care o vrei.

Eu ma gandisem la faptul ca alocarea dinamica ar ajuta pentru cazurile cand nu 
vrei sa aloci 2 GB care sa stea 99.999% din timp degeaba, dar nu te 
deranjeaza sa-l lasi sa ajunga la acei 2 GB 1 data sau de 2 ori pe an, cand 
se intampla un spike de incarcare.

Poate ca o sa reiau acolo discutia, spunand si lucrul asta.

http://kerneltrap.org/node/3080


_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui