Проанализируйте проблему подробнее
Вам необходимо отслеживать действия в режиме реального времени.
У нас нет кода, поэтому мы даже не можем знать, что происходит.Однако вы можете использовать более продвинутый инструмент, такой как htop , gtop , netdata и другие, чем top
или ps
.
Вход в систему pm2
может также рассказать вам больше о вещах.В такой ситуации в журналах будет больше данных, чем в менеджере процессов.Обязательно тщательно изучите журналы, чтобы увидеть, ответственны ли сценарии и выдают ошибки или нет,
pm2 logs
Каждый вызов API обойдется вам
Рассчитайте стоимость заранее и подготовьтесь соответственно,
- Если у вас 1 вызов, будьте готовы к тому, чтобы каждый раз иметь 100 МБ-1 ГБ или более.Это будет стоить вам как вкладка браузера.Стоимость будет там, пока открыта вкладка.
- Если целевой сайт тяжелый, то он будет стоить дороже.Некоторые сайты, такие как Youtube, очевидно, будут стоить вам дороже.
- Любой скрипт, работающий на вкладке браузера, будет стоить процессора и использования памяти.
- Скажем, каждый процесс вызывает ОЗУ 300 МБ, если вы не закрываетепроцесс правильно и начать делать вызовы API, тогда только 10 вызовов API смогут довольно легко использовать оперативную память 3 ГБ.Он может сложиться довольно быстро.
Убедитесь, что закрыты вкладки
Независимо от того, успешно ли выполнена задача автоматизации, убедитесь, что правильно используете browser.close()
, чтобы обеспечить ее ресурсиспользует получает бесплатно.Большую часть времени мы забываем о таких мелких вещах, и это стоит нам.
Применить dumb init на докер, чтобы избежать призрачного процесса
Что-то вроде dumb-init или tini может использоваться, если у вас есть процесс, который порождает новые процессы, и у вас не реализованы хорошие обработчики сигналов для перехвата дочерних сигналов и остановки вашего ребенка, если ваш процесс должен быть остановлен и т. д.
Подробнеена этот ТАК ответ .