Takun
@Takun
Инженер

Можно ли сделать резервацию или ограничение использования ОЗУ?

Доброго времени суток, интересует один момент в windows servers и в клиентской версии тоже любопытно, существуют программы, утилиты или иные объекты, которые в себе могут иметь утечку памяти, и собственно эта утечка достигает 100% использованной памяти, не в зависимо от объема через определенное количество все будет потреблено.
Вопрос такой, можно ли сделать резервацию какого либа объема памяти, который сможет использовать админ для подключения, либо ограничение памяти на процесс?
  • Вопрос задан
  • 158 просмотров
Пригласить эксперта
Ответы на вопрос 2
@res2001
Developer, ex-admin
Если софтина 32битная, то больше 4 Г памяти она потребить не сможет. При этом физической памяти может быть больше. У 64битного софта ограничение по памяти гораздо больше.
Как вариант - запускать софт в виртуальной машине, которой выделено ограниченное количество памяти.
Пожалуйтесь разработчику, пусть исправляет баги.
Ответ написан
@andrew-nii
ну вот предположим есть у нас детект того, что программа больше, чем надо памяти съела. что мы ей сделаем? заставим VirtualAlloc вернуть ошибку? практика показывает, что 99 процентов софта от такого поведения падает по unhandled exception. да и сама восьмёрка/десятка уходит в BSOD с колоссальными потерями данных (!), если памяти мало (про серверы не знаю).

готовых решений мне не известно. но гонять в цикле QuerySystemInformation, и как-нибудь говорить программе, что, мол, хватит, вплоть до TerminateProcess/CreateProcess - это пара страниц кода. А может и готовые решения на гитхабе есть. или можете яндексом delphi, QuerySystemInformation, delphi, Как убить/как запустить процесс. Паскаль же наверняка где нибудь был?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы