0

私は、apache/pythonスクリプトを介して呼び出されるシェルスクリプト内でImagemagickの変換関数を実行しています。通常は正常に動作しますが、サーバーのCPUが最大になり、ダウンしなくなることがあります。'top'のプリントアウトは次のとおりです。

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
9672 apache    20   0  357m 1452  640 R 52.9  0.1 223:44.88 convert            
9457 apache    20   0  294m 161m  648 R 47.1  9.8 222:50.15 convert  

1.これを防ぐために何ができますか2.プロセスを強制終了しますか?プロセスを手動で強制終了しないと、プロセスは無期限にアイドル状態になり、サーバーが停止します。

4

1 に答える 1

0

いくつかのオプションがありますが、正しい答えは特定の状況によって異なります。

Python のサブプロセス コマンドの 1 つを使用して、時間がかかりすぎるジョブを終了する必要がある場合があります。単純なシェル コマンドを発行するだけの場合は、お使いの OS とディストリビューションで「タイムアウト」ユーティリティが利用できるかどうかを確認することをお勧めします。

さらに、画像処理を Web サービス インフラストラクチャから分離することを検討することもできます。

最後に、「変換」を呼び出すオプションを投稿することをお勧めします。そのツールを使用したアプローチの明らかな問題を指摘するのに十分な知識を持っている人がいるかもしれません。

于 2013-03-26T19:46:17.610 に答える