Приложение Django / Docker не хватает памяти после перехода на Gunicorn

При попытке запустить ML/AI-приложение в Django/Docker я получаю следующую ошибку. Я начал получать эту ошибку после перехода на Gunicorn. Я понимаю, что это связано с ограничением распределения памяти, но не уверен, как это исправить.

 [2024-06-18 08:56:09 -0500] [19] [INFO] Worker exiting (pid: 19)
web-1  | [2024-06-18 13:56:10 +0000] [1] [ERROR] Worker (pid:19) was sent SIGKILL! Perhaps out of memory?
web-1  | [2024-06-18 13:56:10 +0000] [34] [INFO] Booting worker with pid: 34
web-1  | /usr/local/lib/python3.11/site-packages/whisper/__init__.py:63: UserWarning: /root/.cache/whisper/tiny.pt exists, but the SHA256 checksum does not match; re-downloading the file
web-1  |   warnings.warn(
 78%|█████████████████████████████        | 56.6M/72.1M [00:24<00:05, 2.74MiB/s][2024-06-18 13:57:18 +0000] [1] [CRITICAL] WORKER TIMEOUT (pid:34)
 79%|█████████████████████████████        | 56.7M/72.1M [00:24<00:06, 2.42MiB/s]
web-1  | [2024-06-18 08:57:18 -0500] [34] [INFO] Worker exiting (pid: 34)
web-1  | [2024-06-18 13:57:19 +0000] [1] [ERROR] Worker (pid:34) exited with code 1
web-1  | [2024-06-18 13:57:19 +0000] [1] [ERROR] Worker (pid:34) exited with code 1.
web-1  | [2024-06-18 13:57:19 +0000] [45] [INFO] Booting worker with pid: 45
web-1  | /usr/local/lib/python3.11/site-packages/whisper/__init__.py:63: UserWarning: /root/.cache/whisper/tiny.pt exists, but the SHA256 checksum does not match; re-downloading the file
web-1  |   warnings.warn(
 72%|██████████████████████████▊          | 52.2M/72.1M [00:24<00:10, 2.03MiB/s][2024-06-18 14:02:49 +0000] [1] [CRITICAL] WORKER TIMEOUT (pid:45)
 73%|██████████████████████████▉          | 52.4M/72.1M [00:24<00:09, 2.22MiB/s]
web-1  | [2024-06-18 09:02:49 -0500] [45] [INFO] Worker exiting (pid: 45)
web-1  | [2024-06-18 14:02:49 +0000] [1] [ERROR] Worker (pid:45) exited with code 1
web-1  | [2024-06-18 14:02:49 +0000] [1] [ERROR] Worker (pid:45) exited with code 1.
web-1  | [2024-06-18 14:02:49 +0000] [56] [INFO] Booting worker with pid: 56
web-1  | /usr/local/lib/python3.11/site-packages/whisper/__init__.py:63: UserWarning: /root/.cache/whisper/tiny.pt exists, but the SHA256 checksum does not match; re-downloading the file
web-1  |   warnings.warn(
100%|█████████████████████████████████████| 72.1M/72.1M [00:22<00:00, 3.39MiB/s]
web-1  | [2024-06-18 14:20:30 +0000] [1] [CRITICAL] WORKER TIMEOUT (pid:56)
web-1  | [2024-06-18 09:20:30 -0500] [56] [INFO] Worker exiting (pid: 56)
web-1  | [2024-06-18 14:20:31 +0000] [1] [ERROR] Worker (pid:56) exited with code 1
web-1  | [2024-06-18 14:20:31 +0000] [1] [ERROR] Worker (pid:56) exited with code 1.
web-1  | [2024-06-18 14:20:31 +0000] [79] [INFO] Booting worker with pid: 79

Я запустил docker stats, чтобы проанализировать использование памяти. Вот вывод:

Я вижу, что в разделе Net I/O использование памяти превышает установленный лимит. Однако я не уверен, как внести необходимые изменения. Я также прочитал здесь, что простое увеличение настройки таймаута Gunicorn - это только пластырь. Я в полном тупике. Любая помощь будет очень признательна.

Вернуться на верх