I have just noticed that I missed to mention one very important thing in my previous post.
File /proc/meminfo contains a very useful field named Committed_AS. This field indicates TOTAL value of committed memory. If all applications would require all memory allocated to them your server would need this amount of memory.
If we look in the example from my previous post we would find following values:
loreto:/tmp # cat /proc/meminfo
MemTotal:Â Â Â Â Â 33274944 kB
…
Committed_AS:Â 49751960 kB
…
So my server has 32GB of RAM, but total amount of memory allocated is 48GB. That is 150%! If all this memory would be required at once server would crash pretty bad (or OOM killer would start butchering my Oracle databases to get some memory back!). :-)
Каква Ñте Ñиротиња… па ми наше поÑтгреÑе терамо Ñа 128GB меморије ;)
Ðего, врло занимљиви чланак — миÑлим да у Ñве ово треба укључити и swap меморију — она Ñе такође адреÑира иако не поÑтоји, и тек када Ñтварно коришћена меморија превазиђе величину доÑтупне меморије Ñе кориÑти и swap. Ðа тај начин, она омогућава да програми не пуцају ако Ñамо на кратко неки други програм тражи више него што је могуће, и зато је важна при терању великих програма као што је база података.
Ðаравно, знам да ти то знаш, али вреди Ñпоменути ;)
Da, u pravu si, nekako sam uspeo da ne spomenem swap u tekstu o menadzmentu memorije (kako ovo ruzno zvuci na srpskom :)). Tako je to kada pises postove na poslu, hehehe… :)
Elem, swap je svakako vazan deo servera gde se vrte aplikacije zeljne memorije bas iz tog razloga koji si naveo. A posto se radi o ogromnoj kolicini podataka, potreban je i veliki swap prostor koji ce biti sposoban da primi te podatke. Tako da u svakoj kalkulaciji oko memorije swap se ne sme zaobici.
Inace, memorija na ovom serveru je pre par nedelja povecana na 64GB i u tom procesu smo otkrili da i386-big-memory kernel ne podrzava vise od 60GB memorije. :) E sada se ti pitas otkud i386 kernel na Oracle serveru sa toliko memorije. Odgovor je kratak – DB tim je gomila neznalica. :)))