2017-09-27 6 views
1

私はWebプロジェクトを使用しています.nginx、uwsgi、web.pyを使用します.nginxはロードバランシングに使用され、uwsgiはWebサーバーとして使用されます。ウェブフレームワークuwsgiは、不完全なプロセスのように、奇妙なプロセスをたくさん作ります。

"/ usr/local/bin/uwsgi -d /home/sheng/www/lr-server/../log/lr-server/uwsgi.log -s 127.0このコマンドで起動します。 0.1:8666 -w rc_main -t 20 -M -p 20 --pidfile /home/sheng/www/lr-server/master.pid --enable-threads -R 800 "

このコモンは、要求を受信するプロセスは20プロセスであり、各プロセスは最大800リクエストを受信します。

以下wは通常のプロセス

sheng  12414 15051 21 10:04 ?  00:01:45 /usr/local/bin/uwsgi -d /home/sheng/www/lr-server/../log/lr-server/uwsgi.log -s 127.0.0.1:8666 -w rc_main -t 20 -M -p 20 --pidfile /home/sheng/www/lr-server/master.pid --enable-threads -R 800 

15051は、通常、それは通常の作品親PID

ですが、サーバーが非常にビジーであり、以下に示すように多くの要求は、長い時間がかかることは奇妙なプロセスであるとき、それは奇妙なプロセスを生成します:あなたは気づくでしょう

sheng  23370  1 0 09:08 ?  00:00:00 /usr/local/bin/uwsgi -d /home/sheng/www/lr-server/../log/lr-server/uwsgi.log -s 127.0.0.1:8666 -w rc_main -t 20 -M -p 20 --pidfile /home/sheng/www/lr-server/master.pid --enable-threads -R 800 

、このプロセスのpidは23370ですが、それは親のpidは1であるのです、それは亡きprocess.Howeverのように、実際には、このプロセスは、メモリを占有し、すべての要求

を受信しません

私は要求を受信するために20の通常のプロセスを生成するために期待していたが、今、それは私が理由を発見した理由を私に言うことができると私は、この問題に

答えて

0

を解決するために何ができるかをもっとして80のstarngeプロセスを処理

私のpythonプロジェクトで

、時々、Pythonは科学的な計算を行うためにRを使用します

Rが遅いので、私の同僚は、パラレル技術を使用し、Rがあれば、残念ながら

を計算するために、いくつかの子プロセスをforkします要求が20秒以上かかると、uwsgiはピソを殺すでしょうnのプロセスですが、未知の理由により、Rがフォークされた子プロセスは殺されませんが、私はそれがちょうど奇妙なプロセスです。

関連する問題