... Добрый день. Хочу написать утилиту которая - запускает процесс - Выделяет процессу заданный объм памяти - контролирует привышение выделенного объема - в случае привышения завершает процесс Читаю тут Рихтера - в нем описан объект "Задание". Функции - SetInformationJobObject() - элемент PeakProcessMemoryUsed - AssignProcessToJobObject() ... как я понял подходят, если не ошибаюсь. Посмотрел в инете статьи по этим функциям, как то никто их не использует только описуют. Может кто-то знает как это сделать проще и подскажет? Спасибо.
The GetProcessMemoryInfo function retrieves information about the memory usage of the specified process. Код (Text): BOOL GetProcessMemoryInfo( HANDLE Process, PPROCESS_MEMORY_COUNTERS ppsmemCounters, DWORD cb ); IMHO я бы делал так: 1) CreateProcess(...) 2) по таймеру GetProcessMemoryInfo(hProcess, ppsmemCounters, sizeof(PROCESS_MEMORY_COUNTERS)) 3) если ppsmemCounters->WorkingSetSize больше нормы - убиваем Process
AFAIK после SetProcessWorkingSetSize операционка будет скидивать все страници, которые превысили лимит в своп.