我正在Ubuntu服务器上部署Django应用程序(DEBUG = False),我看到了gunicorn和芹菜进程的高内存消耗。
Processes User Count CPU Memory
-------------------------------------------
gunicorn www-data 3 0.5% 193 MB
celery celery 2 0.3% 121 MB
celery root 1 0.0% 44.9 MB
rsyslogd syslog 1 0.0% 31.3 MB
postgres postgres 6 0.0% 26.5 MB
这是一个非常小的应用程序(约400分贝行),但网站还没有流量。 快照是在电源循环服务器之后拍摄的。
我试图理解,这个内存消耗是否正常? 对于空闲系统,我应该期待什么样的内存使用?
在python中有一些关于内存泄漏的blogs,但对于空闲系统,这可能不是一个大问题。
答案 0 :(得分:1)
通常对于典型的Django应用程序,对于具有数据库连接的Django应用程序,它需要60-80 MB,对于只需要一点数据库连接的Django应用程序,仅占用大约18 MB的内存。对于需要排队任务,发送电子邮件,数据库连接,用户登录等的更复杂的Django应用程序,它需要大约130 MB。是的,Celery消耗大量内存,你可以尝试使用eventlet来减少内存消耗:这里是a link