[Программирование]  [Windows] [C++] Борда, а какие есть способы ограничить потребление памяти процессом?
Сообщение было послано: смирись и расслабься (178.209.124.226)
Дата: Пятница, Апрель 14 21:17:56 2017


Допустим, я неожиданно для себя написал какой-то хитрожопый говнокод, который при определенных обстоятельствах входит в бесконечный цикл, да еще и начинает требовать в этом цикле память. Но выясняется это внезапно, когда я сижу удаленно, через rdp. В результате rdp становится очень быстро неюзабельным. Воот. OS - Windows 10. Я где-то слышал, что в серверных версиях windows какие-то подобные ограничения можно выставить, но у меня не серверная система.

Первое, что приходит на ум - виртуалка. Но, во-первых, это какое-то время на установку и настройку, во-вторых -- при разработке я запускаюсь из вижуал-студии нажатием пары клавиш, но за этим стоит куча настроек, конфигов и прочего хозяйства, разбросанного по диску. Так уж получилось. И переносить это в другую среду не особо просто.

Второе - добавить в цикл отладочный код, который дергает какую-нибудь функцию из winapi, при помощи которой узнает, сколько памяти выжрал. И в случае превышения лимита отваливается. Я не особо шарю в winapi, да и писать лишний код не хочется.

Еще я пробовал запускать из консоли
shutdown -r -f -t 600

перед запуском криво написанной программы - с мыслью, что оно выжрет память, но отложенная перезагрузка выполнится, после чего я опять смогу приконнектиться по rdp. Не помогло. Даже слегка интересно, почему.

Для полноты картины еще один вариант - попросить присутствующего в офисе коллегу дойти до моего компа и кнопочкой перезагрузить его.

В идеале было бы круто, если бы существовало что-то вроде
set process memlimit 4Gb
.


Сообщения в этом потоке
+ [Программирование]  [Windows] [C++] Борда, а какие есть способы ограничить потребление памяти процессом? (273) - смирись и расслабься (178.209.124.226) - 14/4/2017 21:17
+ Запускай в контейнере, в винде есть такое говно? (-) (137) - Полукруг (195.red-83-56-43.staticip.rima-tde.net) - 15/4/2017 0:02
+ Docker для винды есть (url) (154) - Полукруг (195.red-83-56-43.staticip.rima-tde.net) - 15/4/2017 0:04
+ На винде есть кучи (наксколько помню с возможностью ограничения) + для отклика GUI используй потоки (167) - Bhishma (ppp109-252-67-158.pppoe.spdop.ru) - 14/4/2017 22:34
+ Про кучи могу книжку посоветовать (189) - Bhishma (ppp109-252-67-158.pppoe.spdop.ru) - 14/4/2017 22:37
+ я правильно понимаю, что одному из паттернов обращения с памятью посвящена книга? (-) (131) - Кроки (myoverstanding.ru) - 14/4/2017 23:45
+ Ты Элвис, тебе не нужно понимать, ори в микрофон, дергай струны и жахай телочек! (-) (129) - Полукруг (195.red-83-56-43.staticip.rima-tde.net) - 15/4/2017 0:00
+ если вы мне рублей 40-50 в месяц накинете, так и буду делать, скорей всего. (-) (145) - Кроки (myoverstanding.ru) - 15/4/2017 0:03
+ фрай.жпг (-) (126) - QDiesel (broadband-90-154-92-167.moscow.rt.ru) - 15/4/2017 0:40
+ How to shit in the woods тоже хорошая (-) (145) - Полукруг (195.red-83-56-43.staticip.rima-tde.net) - 14/4/2017 23:29
+ нужно просто поставиить linux в нём поднять виртуалку и в ней поднять сраный мастдай... (166) - Бopщ (46.39.53.43) - 14/4/2017 22:11
+ А сколько памяти на машине? (176) - Редактор (91.188.184.44) - 14/4/2017 21:43
+ . (url) (205) - Nable (bestation.campus.mipt.ru) - 14/4/2017 21:22
+ ^__^ (174) - смирись и расслабься (178.209.124.226) - 14/4/2017 21:27
+ Вот попроще пример: (url) (164) - Nable (bestation.campus.mipt.ru) - 14/4/2017 21:24
+ а в повершеле встроенного нет ничего такого? (-) (121) - QDiesel (broadband-90-154-92-167.moscow.rt.ru) - 14/4/2017 21:33
+ Хз, я про его существование даже не помню. (url) (146) - Nable (bestation.campus.mipt.ru) - 14/4/2017 21:47
Ответить

Имя:   Пароль:    Автологин
Тема:
        

Отключить распознавание Тегов конференции
Отключить распознавание смайл-кодов
Получать уведомления об ответах по почте

 

Конференция основана на движке WWWConf 2.0 PRE BETA5, поддерживается и модерируется группой энтузиастов.