我正在使用emperor模式,并注意到一些uwsgi工作进程继续使用CPU。
以下是特定网站的ini配置
[uwsgi]
socket = /tmp/%n.sock
master = true
processes = 2
env = DJANGO_SETTINGS_MODULE=abc.settings
module = django.core.handlers.wsgi:WSGIHandler()
pythonpath = /var/www/abc/abc
chdir = /var/www/abc/abc
chmod-socket = 666
uid = www-data
virtualenv = /var/www/abc
vacuum = true
procname-prefix-spaced = %n
plugins = python
enable-threads = true
single-interpreter = true
sharedarea = 4
htop显示:
13658 www-data 20 0 204M 59168 4148 S 3.0 3.5 3h03:50 abc uWSGI worker 1
13659 www-data 20 0 209M 65092 4428 S 1.0 3.8 3h02:02 abc uWSGI worker 2
我检查了nginx和uwsgi日志,两者都没有显示该网站被访问。
问题是:
为什么在没有访问网站时,工作人员继续使用大约1-5%的CPU。
答案 0 :(得分:0)
我想我找到了原因,在开发中,我使用计时器监视代码更改然后重新加载uwsgi进程,我认为这是因为该项目使用django-cms并且它有点大,所以每隔一段时间不断监视代码更改有点沉重,将计时器更改为5秒后,进程实际上变得安静。