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

问题描述 投票:4回答:1

我使用以下参数启动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)内核版本:Darwin 12.4.0启动卷:Macintosh HD启动模式:正常计算机名称:mattfaus用户名:Matt Faus(mattfaus)安全虚拟内存:已启用

python google-app-engine
1个回答
0
投票

您在osx上观察到的繁重cpu负载是由dev_appserver用于监视更改并自动重新启动实例的文件监视器引起的。

正如您所注意到的那样,使用参数--automatic_restart=no可以解决问题,但在开发过程中并不是很好。

一种解决方案是替换文件观察器,例如使用这个(专门用于解决问题):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

© www.soinside.com 2019 - 2024. All rights reserved.