Gunicorn высокое использование памяти несколькими идентичными процессами? - PullRequest
0 голосов
/ 21 декабря 2018

Я озадачен высоким процентом использования памяти Gunicorn.Приложение, которое я запускаю, представляет собой глубокую обучающую среду для автоматического распознавания изображений.

Использование памяти постоянно колеблется около 67%, даже после того, как я увеличил объем памяти с 1 ГБ до 3 ГБ.То, что даже озадачивает, - то, что память, кажется, используется несколькими идентичными процессами Gunicorn, как показано ниже.Я вручную убил некоторые процессы с большим количеством оперативной памяти, такие как PID 2004 и 1860, но они постоянно возвращались, и 67% использования памяти оставалось, а иногда становилось еще выше.В результате инструмент чтения изображений, такой как cv2.imread, постоянно не справляется с изображениями большого размера из-за нехватки памяти.

$ ps aux --sort = -% mem

USER  PID  %CPU %MEM VSZ     RSS    TTY    STAT START   TIME COMMAND
user  2004  5.6 39.0 2304052 1201968 ?     S    17:33   0:08 /home/user/anaconda3/envs/project/bin/python /home/user/anaconda3/envs/project/bin/gunicorn --workers 2 --bind unix:/home/user/project-master/project.sock -m 007 wsgi:app
user  1860  2.5 38.6 2289024 1189396 ?     S    17:14   0:32 /home/user/anaconda3/envs/project/bin/python /home/user/anaconda3/envs/project/bin/gunicorn --workers 2 --bind unix:/home/user/project-master/project.sock -m 007 wsgi:app
user  1694  0.0  0.5  43620 17416 ?        Ss   17:14   0:00 /home/user/anaconda3/envs/project/bin/python /home/user/anaconda3/envs/project/bin/gunicorn --workers 2 --bind unix:/home/user/project-master/project.sock -m 007 wsgi:app

Интересно, нормально ли такое высокое использование памяти для веб-приложения, подаваемого Gunicorn?Если нет, я могу как-нибудь это исправить?Спасибо!

1 Ответ

0 голосов
/ 21 декабря 2018

Я имею в виду, что вам может понадобиться бросить time.sleep (.05) на этого плохого парня, если у него слишком много функций в цикле.

...