W dniu 12.11.2012 20:51, marfi pisze:
> Zgadza się, miałem problemy z programami (dokładnie to jeden program działający w dwóch instancjach), które muszą działać non stop od aktualizacji do aktualizaci i używają ok. 1GB RAM.
> Jeżeli w czasie pracy dokonywały reallokacji w miarę potrzeb prędzej czy później występował błąd przydzielania pamięci i była katastrofa.
> Rozwiązaniem okazało się alokowanie pamięci na zapas po restarcie systemu w ilosci maksymalnie możliwej do zrealizowania.
Proszę, wyjaśnij o co chodzi bo piszesz albo zagmatwanie,
albo niezgodnie z prawdÄ… :)
Każdy proces ma *własną*, czystą przestrzeń adresową, więc
fragmentacja pamięci fizycznej nie ma z punktu widzenia pro-
cesu *żadnego* znaczenia. Nie liczy się zatem czas pracy sy-
stemu operacyjnego, ale samego *procesu* ewentualnie.
Jestem zatem w stanie uwierzyć, że wewnętrzna fragmentacja
sterty w ramach procesu powodowała jakieś problemy, ale nie
rozumiem, jak miałoby w tym pomóc "alokowanie pamięci na za-
pas po restarcie systemu" -- alokowanie przez proces po uru-
chomieniu samego procesu?
W każdym razie świadczy to o błędnie napisanym programie, bo
jeżeli faktycznie był to problem, to należało zmienić struk-
tury danych lub wprowadzić jakąś segmentację. A w ostatecz-
ności -- przejść na system i oprogramowanie 64-bitowe, bo
tam kwestia fragmentacji sterty w zasadzie jeszcze przez
wiele lat nie ma prawa wystąpić... :)
-- |""""""""""""""""""""""""""""""""""""""""""""""""""""""""""| | Radosław Sokół | http://www.grush.one.pl/ | | | | \........................................................../Received on Tue 13 Nov 2012 - 08:15:02 MET
To archiwum zosta³o wygenerowane przez hypermail 2.2.0 : Tue 13 Nov 2012 - 08:42:01 MET