Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2008.11.23;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
3-1209984155
Ega23
2008-05-05 14:42
2008.11.23
Создать свой ODBC-источник в ран-тайм


15-1221799051
VirEx
2008-09-19 08:37
2008.11.23
Письмо в Кремль


2-1223646143
dmitry_12_08_73
2008-10-10 17:42
2008.11.23
Извлечение ресурсов из формы *.fdm


2-1224145722
SpiderWho
2008-10-16 12:28
2008.11.23
Отладка DLL


6-1195558453
Jayson
2007-11-20 14:34
2008.11.23
Web-browser(javascript)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский