Закончилась память: Убит процесс (gunicorn) на AWS Lightsail
Я надеюсь, что кто-нибудь сможет подсказать мне, как определить, что является причиной продолжающегося отсутствия памяти. Я новичок в этой области, поэтому любая помощь будет высоко оценена.
У меня есть приложение Django, использующее Gunicorn, Ngnix, PostgreSQL. Я также использую Supervisor для мониторинга приложения. Если я перезагружаю сервер, он автоматически перезапускает приложение... никаких проблем. До этого приложение было создано с использованием Flask, и я никогда не сталкивался с этой проблемой. Оба приложения имели следующие AWS:
AWS Lightsail 512 Мб памяти 1 ядерный процессор 20 ГБ SSD диск Передача данных 1 ТБ*
Вот строки из журнала ошибок gunicorn:
[2022-01-20 02:06:15 +0000] [723] [INFO] Booting worker with pid: 723
[2022-01-20 02:06:15 +0000] [724] [INFO] Booting worker with pid: 724
[2022-01-20 02:06:15 +0000] [725] [INFO] Booting worker with pid: 725
[2022-01-20 07:43:42 +0000] [708] [CRITICAL] WORKER TIMEOUT (pid:723)
[2022-01-20 07:49:11 +0000] [708] [CRITICAL] WORKER TIMEOUT (pid:724)
[2022-01-20 07:49:11 +0000] [708] [CRITICAL] WORKER TIMEOUT (pid:725)
[2022-01-20 02:49:11 -0500] [724] [INFO] Worker exiting (pid: 724)
[2022-01-20 02:49:11 -0500] [725] [INFO] Worker exiting (pid: 725)
[2022-01-20 07:49:11 +0000] [708] [WARNING] Worker with pid 723 was terminated due to signal 9
[2022-01-20 07:49:11 +0000] [708] [WARNING] Worker with pid 724 was terminated due to signal 9
Вот строки из /var/log/kern.log:
Эти шаги могут помочь вам в решении этой проблемы
- Уменьшите количество рабочих-гуникорнов
- Обычно рекомендуется (2 x $num_cores) + 1 в качестве количества рабочих для начала .
- А также увеличить оперативную память с 512 МБ до как минимум 2 ГБ (или 1 ГБ)
Приветствую,
Умар Хаят