2

これは状況です:

PDF処理とサムネイル作成を行う(php / mysql)Webアプリケーションがあります。これは、サーバー上でサードパーティのコマンドラインソフトウェアを使用して実行されます。どちらの種類の処理も、サーバーを窒息させるほど多くのリソースを消費します。サーバーが遅延なくユーザーにサービスを提供し続けることができるように、これらのアプリケーションが使用できるリソースの量を制限したいと思います。これは、重いpdfが処理されると、ユーザーが応答を受け取らないためです。

アプリケーションが使用できるRAMとCPUの量を制限することは可能ですか(すべてのプロセスを組み合わせて)?または、これらの種類の状況に対処する別の方法はありますか?これは通常どのように行われますか?

4

1 に答える 1

3

ulimitリソース制限を設定するために使用します。「ハード」制限は、オペレーティングシステムによって適用されるリソースの最大制限であり、一度設定すると増やすことはできません。「ソフト」制限は、プロセスを自由に変更できる推奨最大値ですが、ハード制限を超えることはできません。

たとえば、script.sh256MBを超える仮想メモリを使用しないようにするには、次のようにします。

ulimit -H -v $((2*1024*1024))
./script.sh

これを、コマンドラインでプロセスを実行するPHPスクリプトに組み込みます。

于 2012-08-29T11:37:59.753 に答える