uwsgi运行日志报错MemoryError,项目频繁出现502
最近又部署了一台线上服务器,遇到了一个之前从未遇到过很头疼的问题:项目运行总是偶尔或者频繁的出现502界面,返回再进或者刷新界面,502界面就没了。
一开始查看错误日志,发现程序代码报错较多,让同事改完代码后,更新项目还是会频繁的出现502,查看uwsgi运行日志,发现不少的MemoryError,是内存错误的意思,网上好多说是python版本的问题,但是版本并没有问题,查阅资料发现有一个虚拟内存的uwsgi配置即“limit-as”,初始默认配置为512,项目较大这个值根本不够,所以把他调到了2048(我这服务器是8G的运行内存,一般拿出1/4就够了),具体的uwsgi.ini配置如下:
#在uwsgi.ini文件中修改或添加下面的配置
limit-as = 2048
#双重保险,在达到1024的时候重启进程
reload-on-as = 1024