Zarówno Windows jak i Unix tak robią (tylko Win9x były tu wyjątkiem, w którymś pliku INI określało się rozmiar cache).
Piszę o pamięci zajętej przez kod i dane, z wyłączeniem cache/buforów
Przykładowo aktualnie mam tak (polecenie "free"):
Kod:
total used free shared buffers cached
Mem: 4052288 3896924 155364 0 16104 3161472
-/+ buffers/cache: 719348 3332940
Swap: 6291436 0 6291436
Czyli z 4GB które mam wolne jest ok 155MB, ale system i aplikacje zajmują ~719MB.
Ponad 3GB zajmuje cache dyskowe, które mnie nie interesuje, dla mnie jest to wolna pamięć i większość programów tak ją interpretuje.
W niektórych unixach jest jeszcze pamieć slab/slub (
http://en.wikipedia.org/wiki/Slab_allocation) ale nie wiem do której części się ją wlicza, gdzieś na pewno jest uwzględniona.
Zaraz po starcie wygląda to tak
Kod:
total used free shared buffers cached
Mem: 4052288 498424 3553864 0 41888 171116
-/+ buffers/cache: 285420 3766868
Swap: 6291436 0 6291436