Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.14;
Скачать: CL | DM;

Вниз

Out of memory   Найти похожие ветки 

 
Геннадий   (2004-11-02 10:55) [0]

Смоделируем ситуацию:

var
 St: String;
 I : Integer;
begin
 St:= "";
 for I:=Low(I) to High(I) do St:= St + ":)";
end;


Получаем Out of memory. Но ведь есть файл подкачки. Если не хватает оперативной памяти, данные сбрасываются на диск. Если не хватает места в файле-подкачке, он динамически расширяется (или можно выставить очень большой его размер в свойствах ОС). Так в чём проблема? Проясните ситуацию, пожалуйста!


 
Romkin ©   (2004-11-02 11:00) [1]

Проблема во фрагментации памяти. Эт во-первых. Во-вторых, больше 2 гигов ты не возьмешь, скока на диске бы не было. Фактически, и два гига не выделишь, там ведь еще твой ехе, все библиотеки и тд...


 
Digitman ©   (2004-11-02 11:08) [2]


> Геннадий   (02.11.04 10:55)  


дело не в файле подкачки

ВАП процесса состоит из регионов.. каждый из регионов состоит из блока смежных страниц и имеет атрибуты "свободности"/"занятости" (упрощенно) .. "региональное" состояние ВАП меняется динамически, с каждым вызовом WinAPI-ф-ций распределения/перераспределения/освобождения вирт.памяти

в пределе ты требуешь распределения памяти размером даже более 4Гб, такого "свободного" региона в ВАП Win32-процесса нет и быть не может, поэтому ты и получаешь OOM-отказ



Страницы: 1 вся ветка

Текущий архив: 2004.11.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.051 c
1-1099047852
Pentium133
2004-10-29 15:04
2004.11.14
TStringList и IniFile


1-1098888052
msdn11
2004-10-27 18:40
2004.11.14
Буфер обмена.


14-1099036914
Baks
2004-10-29 12:01
2004.11.14
Мастера подскажите, помогите чайнику...


14-1098961180
Jaxtor
2004-10-28 14:59
2004.11.14
Удаление GUID a из реестра


14-1098424495
Polevi
2004-10-22 09:54
2004.11.14
зенит чемпион