У меня есть служба Windows, написанная на C #, которая выполняет тяжелую работу (не имеет отношения к вопросу), работающую на удаленном компьютере (Windows Server 2008).
То и дело клиентское приложение обращается к сервису. Служба начинает свою работу и, возможно, потребляет большой объем памяти. Освобождает потребленную память после завершения работы. Пока все нормально, утечек памяти и т.п. Но, к сожалению, служба выделяет почти всю доступную память, если к ней обращаются несколько клиентов (что в принципе нормально, поскольку она выполняет тяжелую работу). Недостатком является то, что в этом случае нет памяти для других служб, работающих на этом компьютере.
Итак, есть ли способ ограничить или ограничить объем памяти, который может выделить моя служба? Можно ли как-то заявить, что, скажем, до 50% памяти машины, но не более? Что-то подобное возможно для процессов, размещенных в IIS, но мой - это «обычная» служба Windows.