为什么dev_appserver.py即使在空闲时也会使用这么多CPU?

时间:2013-09-04 18:46:51

标签: python google-app-engine

我正在使用以下参数启动dev_appserver.py:

dev_appserver.py --require_indexes=yes --datastore_path=/Users/mattfaus/dev/webapp/datastore/current.sqlite --blobstore_path=/Users/mattfaus/dev/webapp/datastore/blobs/ --host=0.0.0.0 --port=8080 --skip_sdk_update_check=yes --enable_sendmail=yes /Users/mattfaus/dev/webapp

在Activity Monitor中,我发现即使不处理请求,它也会持续使用150%的CPU。我看到的最大症状是大幅缩短Macbook Pro上的电池寿命和几乎过热的CPU。我现在必须小心在我不使用它来阻止这些事情发生时关闭appserver。

大约在1个月前开始发生,可能是在我升级到1.8.1或1.8.2时。有什么方法可以配置GAE来停止使用这么多CPU吗?

我正在使用GAE SDK 1.8.3,这里是我的硬件/软件的概述。

硬件概述:

型号名称:MacBook Pro   型号标识符:MacBookPro9,1   处理器名称:Intel Core i7   处理器速度:2.3 GHz   处理器数量:1   核心总数:4   L2缓存(每个核心):256 KB   L3缓存:6 MB   内存:16 GB   突发运动传感器:   状态:已启用

系统软件概述:

系统版本:OS X 10.8.4(12E55)   内核版本:达尔文12.4.0   启动音量:Macintosh HD   引导模式:正常   电脑名称:mattfaus   用户名:Matt Faus(mattfaus)   安全虚拟内存:已启用

1 个答案:

答案 0 :(得分:0)

str_replace("\t\n","\n", $string); 用来监视更改并自动重新启动实例的文件监视程序导致您在osx上观察到的CPU负担很重。

您已经注意到,使用参数dev_appserver解决了该问题,但是在开发过程中效果不佳。

一种解决方案是替换文件监视程序,例如使用此监视程序(专门用于解决该问题):https://github.com/nilleb/fsevents-watcher

有关更多上下文信息,请参见本文:https://medium.com/lumapps-engineering/appengine-on-macos-is-a-cpu-hog-heres-how-to-solve-this-problem-with-another-python-native-9f2a6dc5c960