Вот скрипт, который вызывает утечку памяти. Проблема проявляется при подключении файлов в кубике NodeJS. Чем больше подключений, тем быстрее забивается память. Если использовать подключение установленных NPM модулей, такой проблемы нет. В итоге получается, что проблема с файлами, и свои функции не написать. Разве что объявлять их один раз через глобальную переменную, а затем обращаться к ней. Но тогда в режиме записи при внесении изменений в кубике ноды глобальные переменные сбрасываются.
Утечка памяти 27.7.1 BrowserAutomationStudio.exe
-
Здравствуйте, скрипт выкладывать не буду, но опишу, он имеет повторяющий тип запуска, в main 3 блока:
1)асинхронный вызов основной части скрипта ( функции mainFunc к примеру)
2)ожидание 10с
3)ожидание окончания mainFunc
Сделано это для того, чтобы вернуться в изначальный размер памяти, с которой скрипт стартует.
mainFunc после отработки заканчивает return'ом(success/fail без разницы), worker'ы(обычные и хромиум) удаляются, но к процессу BrowserAutomationStudio.exe добавляется 20 мб(цифра зависит от длинны основной части скрипта), и так до переполнения.
Вопрос, почему так? По моей логике mainFunc после отработки всю память с процессами должна освобождать, переменные которые находятся локально, тоже наверное уходят в небытие? Что может добавлять памяти основному процессу BrowserAutomationStudio.exe?
Если дело в том, что эти переменные позже удалятся мусорщиком, есть ли возможность вручную удалить эти переменные? -
@kpokc said in Утечка памяти 27.7.1 BrowserAutomationStudio.exe:
Здравствуйте, скрипт выкладывать не буду, но опишу, он имеет повторяющий тип запуска, в main 3 блока:
1)асинхронный вызов основной части скрипта ( функции mainFunc к примеру)
2)ожидание 10с
3)ожидание окончания mainFunc
Сделано это для того, чтобы вернуться в изначальный размер памяти, с которой скрипт стартует.
mainFunc после отработки заканчивает return'ом(success/fail без разницы), worker'ы(обычные и хромиум) удаляются, но к процессу BrowserAutomationStudio.exe добавляется 20 мб(цифра зависит от длинны основной части скрипта), и так до переполнения.
Вопрос, почему так? По моей логике mainFunc после отработки всю память с процессами должна освобождать, переменные которые находятся локально, тоже наверное уходят в небытие? Что может добавлять памяти основному процессу BrowserAutomationStudio.exe?
Если дело в том, что эти переменные позже удалятся мусорщиком, есть ли возможность вручную удалить эти переменные?Проблема повторяется вне зависимости от содержания функции mainFunc? Можете приложить тестовый скрипт демонстрирующий проблему?
-