
Будучи разработчиком разнообразных приложений, благодаря чистой «удачи» и сочетанию закона Мерфи, можно столкнуться с ситуациями, в которых происходит либо утечка памяти, либо быстрое нежелательное выделение ресурсов памяти, о чем вы раньше не задумывались.
В этот момент ситуация может оказаться хуже, чем сбой, так как, с одной стороны, быстрое выделение памяти приводит к зависанию, с другой стороны, практически мгновенный процесс подкачки заполняет жесткий диск, и, таким образом, становится сложнее получить дампы памяти конкретных приложений.
Простое увеличение памяти в системе компьютера разработчика тоже не особо мне помогает, так как при выделении 1-3 ГБ/с и материнской плате, рассчитанной максимум на 32 ГБ, у меня будет всего несколько секунд, чтобы заметить ситуацию и отреагировать.
В таких ситуациях все, что я мог сделать, это нажать кнопку питания.
Итак, вопрос:
Существует ли исправление/модуль ядра Windows или приложение для мониторинга, которое немедленно приостанавливает работу приложения и выводит окно с вопросом, хочу ли я продолжить процесс?
Возможные обходные пути
Можно ли ограничить выделение памяти на каждый процесс в Windows?
Помогает ли в таких ситуациях установка приоритета фоновых процессов?
32-битные процессы должны быть ограничены 4 ГБ. Можно ли это использовать как частичное решение, или Win64 каким-то образом обходит это ограничение?
Спасибо!