Этот простой командный файл в относительно коротком порядке расходует всю доступную память на Windows 7 (x64). Что происходит? и какие меры предосторожности могут быть приняты для защиты от этого?
any-invalid-command-you-like-here ^
По-видимому, необходимые предпосылки для проявления эффекта:
- каретка
^
является последней вещью в файле, а script не заканчивается символом новой строки - карету предшествует по меньшей мере 2 пробела или символов, например. если точки в следующем представляют собой пробелы, утечка памяти не будет срабатывать
.^
, тогда как это будет..^
(только медленно)
В этом скриншоте Process Explorer script работало около 30 секунд, потреблялось 2,9 ГБ и продолжало расти с постоянной скоростью:
Если вы собираетесь поэкспериментировать с этим, убедитесь, что вы можете попасть в элемент управления Close Window [X] или запустить диспетчер задач или Process Explorer в качестве Ctrl-C, Ctrl-Break, Alt-F4 не имеют эффекта.
Похоже, что несколько карманов заставят использовать память быстрее. В первый раз, когда я столкнулся с этим, в течение 1-2 минут недостаточно памяти для выполнения простых вещей, таких как Alt-Tab, и даже 3-й салют пальца Ctrl-Alt-Del был неэффективным. Мне пришлось сильно отключить машину.