私はgungornを使用しています。19.7.1 Djangoプロジェクト(Ubuntu 14.04マシン)用のnginxリバースプロキシを備えたappserver。何千もの無関係なgunicornワーカー
ps aux | grep gunicorn | grep -v grep | wc -l
今のところが得られます。
/etc/init/gunicorn.conf
では、私はいつも-w 33
を持っていました。しかし、私がsudo service gunicorn stop
とsudo service gunicorn start
を行っても、余分な労働者は存続します。
どうすれば外来労働者を殺すことができますか?
これはどうでしたか?
作業台数33
は、忙しい運用システムでは常に正しく設定されています。
しかし、数時間前、私はサーバー上でpythonのmultiprocessing
を試していました。 Gunicornの労働者はすべての記憶を食べて、住人の赤ちゃんのインスタンスも取り出しました。
私は、変更を元に戻すと、メモリが解放されていないと私はこれらのレガシーgunicornの労働者に対処しなければならなかった以外は、オンラインのすべてを取り戻すために管理しています。どうしたの?
だから私はより良い方法を選んだ - それは私に外科的に見えた。 '/ tmp'に目的のファイルを作成しました。結局、私が 'cat wanted_workers all_workers |並べ替え|ユニーク-u | xargs殺す '、何も起こらなかった。具体的には、 'ps aux |グレープガンコーン| grep -v grep | wc -l'はまだ私に3043 **を与え、メモリも解放されていません。何か案は? –
@HassanBaigあなたはプロセスのオーナーですか?もしそうでなければ、 'kill'の代わりに' sudo kill'する必要があります。 –
さて、私は実際に 'root'と' cat 'の両方としてこのことを試しましたdesired_workers all_workers |並べ替え|ユニーク-u | xargsはsudoをkillします。どちらの方法もこれらのプロセスを殺しませんでした。私はまだ** 3043 **を参照してください。多分、別のアプローチをここに適用するべきでしょうか? –