为什么dev_appserver.py即使在空闲时也会使用这么多CPU?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么dev_appserver.py即使在空闲时也会使用这么多CPU?相关的知识,希望对你有一定的参考价值。
我使用以下参数启动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)安全虚拟内存:已启用
您在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
以上是关于为什么dev_appserver.py即使在空闲时也会使用这么多CPU?的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 gcloud 运行 dev_appserver.py
Python 中 Google App Engine 的 dev_appserver.py 中出现 EOFError 错误
如何修复 Google App Engine dev_appserver.py:watcher_ignore_re 标志“不是 JSON 可序列化”错误? [复制]