• Как организовать бесконечный цикл (или бесконечную рекурсию) в Node.JS без утечки памяти?

    @LokerdLife1 Автор вопроса
    Решение Lynn «Кофеман» (смотри комментарии под вопросом) помогло оптимизировать программу! Первые 2-3 часа ситуация была хуже, чем с моим решением (предполагаю по тому, что код стал проще и количество итераций за единицу времени увеличилось, тем самым скорость поедания памяти тоже увеличилась), но по непонятным мне причинам через 6-8 часов память стала возвращаться системе, да еще и в каком объеме (потребляемая память сократилась с 6.6mb до 3.4mb). Что произошло - не понятно. Скрипт работает в штатном режиме. Да, все еще подъедает память, но спустя несколько часов резко отдает половину системе. Есть над чем поразмышлять.

    Для заинтересовавшихся - ОС: Ubuntu 18.04.1; платформа - Node.JS 8.10; код программы:
    loop();
    function loop() {
        setTimeout(loop, 8);
    }


    Не уверен что проблема не вернется, т.к. не до конца понимаю природу всех процессов. Если кто-то сталкивался с подобным или понимает, что тут происходит (хех), буду рад услышать ваше мнение!
    Ответ написан
    Комментировать