[LUGOS-PROG] Pomnilnik
Domen Puncer
domen at coderock.org
Thu Sep 22 19:49:27 CEST 2005
On 22/09/05 12:06 +0200, Ales Casar wrote:
> On Mon, 19 Sep 2005, Domen Puncer wrote:
>
> > V Linuxu imajo procesi 3 GB naslovni prostor (s 4/4 split kernel patchem
> > tudi 4 GB). Glede na to, da je sizeof(void*) == 4, kaj dosti vec ne more
> > biti neposredno dostopnega.
>
> Od tukaj obravnmavanih arhitektur velja to samo za i386, ne pa tudi za
> x86_64 in alpha. Sicer pa za ta del sem vedel.
Aha, za 32-bitne (IOW. sizeof(void*) == 4) arhitekture.
>
> > Ce te je pa zanimalo kako lahko tvoj program zasede vec, kot imas
> > virtualnega pomnilnika; je pa to zato, ker tisti pomnilnik se ni
> > "zaseden". Na vsako stran napisi kaj, pa ne bos prisel dlje od realne
> > velikosti.
>
> Hmm, to je pa zdaj malo cudno. Ce ti malloc uspesno vrne nek pomnilnik, je
> tisti pomnilnik tvoj in lahko zz njim pocnes kar hoces. Kaj se bo zgodilo
> potem, ce ga bo zmanjkalo nekje sredi tvojega pisanja po njem?
OOM ;-)
Ja, po moji interpretaciji je nazalost prevec buggy programov, in je to
uspesno.
>
> > Mislim da se to obnasanje da nastaviti z /proc/sys/vm/overcommit*
>
> Sem malo pogledal to. Nenavadno. Se vedno pa ne vem, od kod tisti omejitvi
> okrog 500 GB na x86_64 in 4 TB na alpha. In zakaj se z vecimi malloci da
> zaseci vec (tudi 1000x vec) prostora kot z enim mallocom?
Umm... brez idej.
poslji na lkml (linux-kernel at vger.kernel.org), in opisi prakticni primer
za katerega ne dela?
More information about the lugos-prog
mailing list