Cherrypy quickstart 在闲置时消耗高 CPU 使用率
Cherrypy quickstart consuming high CPU usage while idle
我有以下 CherryPy 快速入门示例:
import cherrypy
class HelloWorld(object):
@cherrypy.expose
def index(self):
return "Hello world!"
if __name__ == '__main__':
cherrypy.quickstart(HelloWorld())
我发现如果我离开它 运行,它始终靠近 top
输出的顶部。例如,我把它放在 运行 过夜(不是 24 小时),这是顶部的行:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8284 pi 20 0 126212 13868 5792 S 7.2 3.1 112:51.88 python
而且这段时间服务器没有通过REST进行交互,只是空转。 CPU 使用率如此高的任何原因,或防止它的解决方法?
可能不相关,但是下面的python代码也用了很多CPU:
while True:
pass
它使用了很多 更多 CPU(也许是这样),但这让我想知道 CherryPy quickstart 是否正在做类似的事情来等待幕后。
我真的不认为你应该为此担心。而且您不必在生产中使用 quickstart()
。按照 here 将 Cherrypy 与 uwsgi
模块用于生产目的。它更快更轻。
CherryPy 在后台做的一件事是检查文件和导入模块的更改,然后重新执行该过程。使用 cherrypy.config.update({'engine.autoreload.on' : False})
关闭自动加载器使用较少 CPU。 CPU 我的使用率从 1.5% 下降到不到 0.3%。
我有以下 CherryPy 快速入门示例:
import cherrypy
class HelloWorld(object):
@cherrypy.expose
def index(self):
return "Hello world!"
if __name__ == '__main__':
cherrypy.quickstart(HelloWorld())
我发现如果我离开它 运行,它始终靠近 top
输出的顶部。例如,我把它放在 运行 过夜(不是 24 小时),这是顶部的行:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8284 pi 20 0 126212 13868 5792 S 7.2 3.1 112:51.88 python
而且这段时间服务器没有通过REST进行交互,只是空转。 CPU 使用率如此高的任何原因,或防止它的解决方法?
可能不相关,但是下面的python代码也用了很多CPU:
while True:
pass
它使用了很多 更多 CPU(也许是这样),但这让我想知道 CherryPy quickstart 是否正在做类似的事情来等待幕后。
我真的不认为你应该为此担心。而且您不必在生产中使用 quickstart()
。按照 here 将 Cherrypy 与 uwsgi
模块用于生产目的。它更快更轻。
CherryPy 在后台做的一件事是检查文件和导入模块的更改,然后重新执行该过程。使用 cherrypy.config.update({'engine.autoreload.on' : False})
关闭自动加载器使用较少 CPU。 CPU 我的使用率从 1.5% 下降到不到 0.3%。