我正在Ubuntu服务器上部署一个Django应用程序(DEBUG=False),我看到枪角兽和芹菜进程的内存消耗很高。
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 db行),网站还没有流量。快照是在重新启动服务器电源后拍摄的。
我试图理解,这种内存消耗正常吗?对于空闲系统,我应该期望的典型内存使用情况是多少?
有一些关于python内存泄漏的博客,但对于空闲系统来说,这可能不是一个大问题。
通常,对于一个典型的 Django 应用程序,一个有数据库连接的 Django 应用程序需要 60 - 80 MB,对于只需要一点点数据库连接的 Django 应用程序,只需要大约 18 MB 的内存。对于更复杂的 Django 应用程序,需要排队任务、发送电子邮件、数据库连接、用户登录等,它需要大约 130 MB。是的,Celery 消耗大量内存,您可以尝试使用 eventlet 来减少内存消耗:这是一个链接