Раздробява ли се овенът?

Раздробява ли се овенът?
Раздробява ли се овенът?
Anonim

Фрагментацията се появява и в системната памет (RAM). Приложните и системните процеси разпределят и използват памет в непоследователни блокове, тъй като съществуващите регистри на паметта се използват и използват повторно.

Може ли Рам да стане фрагментиран?

Пейджинг с памет създава вътрешна фрагментация, защото ще бъде разпределена цяла рамка на страницата, независимо дали е необходимо толкова много място за съхранение или не. Поради правилата, регулиращи разпределението на паметта, понякога се разпределя повече компютърна памет, отколкото е необходимо.

Какво причинява фрагментация на паметта?

Фрагментацията на паметта е, когато по-голямата част от паметта ви е разпределена в голям брой непоследователни блокове или парчета - оставяйки добър процент от общата ви памет неразпределена, но неизползваема за повечето типични сценарии. Това води до изключения от липса на памет или грешки в разпределението (т.е. malloc връща null).

Фрагментацията на паметта лоша ли е?

По принцип C++ програмиране няма проблем с фрагментацията на паметта. Винаги виждате виртуалната памет и винаги разпределяте последователни парчета виртуална памет. Единственото нещо, което можете да забележите, че последователно разпределените парчета не са непременно съседни в паметта.

Как предотвратявате фрагментирането на паметта?

Ако можете да изолирате точно тези места, където е вероятно да разпределите големи блокове, можете (в Windows) директно извикате VirtualAlloc вместо да преминавате през мениджъра на паметта. Това ще избегнефрагментация в рамките на нормалния мениджър на паметта.

Препоръчано: