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

Вниз

Как получить размер оперативки компа?   Найти похожие ветки 

 
TStas ©   (2008-02-04 22:00) [0]

Надо это вот зачем. Есть приложение, которому реально нужно дохрена памяти. Понятно, что бесконечно все равно не получится. А от использования файла подкачки начнет тормозить, притом сильно. Вот, если используемая память заведомо меньше оперативки, тогда подкачка будет использоваться редко, если вообще будет. А для этого ее надо как-то получить.


 
TStas ©   (2008-02-04 22:45) [1]

Вопрос снят. Вот так:
Procedure GetMemSize(out TotalSize, AvailSize: Integer);
Procedure GetMemSize(out TotalSize, AvailSize: Integer);
var
 Status: _MEMORYSTATUS;
begin
 GlobalMemoryStatus(Status);
 TotalSize := Status.dwTotalPhys;
 AvailSize := Status.dwAvailPhys;
end;

Function TotalByteSize: Integer; //Размер в байтах
var
 X: Integer;
begin
 GetMemSize(Result, X);
end;
Только я не совсем понял, что подразумевается под доступной памятью, но заметил, что её объем меняется.


 
хам   (2008-02-04 22:48) [2]

VOID GlobalMemoryStatus(

   LPMEMORYSTATUS lpBuffer  // pointer to the memory status structure  
  );


Parameters

lpBuffer

Points to a MEMORYSTATUS structure in which information about current memory availability is returned. Before calling this function, the calling process should set the dwLength member of this structure.


 
Loginov Dmitry ©   (2008-02-06 00:13) [3]

Используй такую функцию:

function AvailMemory: Double;
var
 MemInfo: TMemoryStatus;
begin
 MemInfo.dwLength := Sizeof(MemInfo);
 GlobalMemoryStatus(MemInfo);
 Result := Min(MemInfo.dwAvailPhys +
   Int64(MemInfo.dwAvailPageFile), Int64(MemInfo.dwAvailVirtual));
end;


 
Loginov Dmitry ©   (2008-02-06 00:16) [4]

Но это ни в коем случае не страхует от EOutOfMemory, если ты попытаешься выделить очень большой непрерывный блок памяти.



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
2-1223646143
dmitry_12_08_73
2008-10-10 17:42
2008.11.23
Извлечение ресурсов из формы *.fdm


1-1202327820
Urvin
2008-02-06 22:57
2008.11.23
Замена TListView


15-1222066417
Slider007
2008-09-22 10:53
2008.11.23
С днем рождения ! 22 сентября 2008 понедельник


15-1221915502
xayam
2008-09-20 16:58
2008.11.23
Вот это я понимаю машина


2-1223614547
uno-84
2008-10-10 08:55
2008.11.23
Проблемы с DateTimePicker