2017-01-27 6 views
3

私はUbuntuを実行しているt2.micro EC2インスタンスでWeb Scrapperをセットアップしています。 scrapperはPythonで書かれており、SeleniumとPhantomJSを使用しています。取得したデータは、別のRDSインスタンスに送信されます。 15分ごとにスクリプトを実行するようにクローンジョブを設定します。それは利用を乗り越えて、私のインスタンスは本当に遅くなる、 My CPU activityT2.micro python scraperを実行しています - 制御不能なCPU

スクリプトがうまく(赤枠)で動作し、突然のすべて: はここに私の問題です。 スクリプトは数秒で実行されてから10分だけ実行されます。
これらのバーストの間、インスタンスはCPUクレジットを使用します。しかし、私のCPUクレジットは上がっています。私は、インスタンスを再起動することで問題が解決されることを発見しました。
何が起こっているのか考えてみませんか?

+0

IEdriverインスタンス(http://stackoverflow.com/questions/41679405/multiple-tests-on-theame-iedriver-instance-memory-issues)で同じ問題が発生していますが、まだ解決策が見つかりませんでした。再起動のみインスタンスの役立ちます。 :/ – acikojevic

+0

私は、CPUが問題を回避するために通常の10分を超えると自動再起動をセットアップしましたが、再起動する必要はありませんでした... – nickfrenchy

+1

明らかに、スクリプトを実行した後PhantomJSを終了してもphantomjsプロセスをシャットダウンします。さらに悪いことに、スクリプトが実行を開始するたびに新しいスクリプトが作成されます。 – nickfrenchy

答えて

0

同じ問題が発生していましたが、私がt2.mediumにアップグレードしたときに、pythonスクリプトの実行速度が大幅に向上しました。あなたのpythonを使用している場合、私はpsutil

for proc in psutil.process_iter(): 
    if proc.name() == 'phantomjs': 
     proc.kill() 

を使用することをお勧めしますあなたのコードの末尾に、ブラウザは時々、すべてのメモリを吸うことができ、特にあなたがループ内でセレンを実行している場合、スクリプトを遅くすることを置きます。

関連する問題