[LUGOS-PROG] Pomnilnik

Ales Casar casar at uni-mb.si
Thu Sep 22 12:06:53 CEST 2005


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.

> 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?

> 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?

Ales

-- 
Ales Casar                |  Email:    casar at uni-mb.si
Computer Centre           |  DECnet:   RCUM::ALES
University of Maribor     |  AX.25:    S56SAC @ S50MBR.SVN.EU
SLOVENIA                  |  WWW:      http://www.el.feri.uni-mb.si/~ales/



More information about the lugos-prog mailing list