すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:PID 不足の訓練

最終更新日:Apr 24, 2025

オペレーティングシステムでは、プロセス ID(PID)はプロセスを一意に識別するために使用される番号であり、プロセスが終了した後に再利用できます。 PID を使い果たすことは困難ですが、誤って使い果たしてしまう可能性があります。 PID が誤って使い果たされると、新しいプロセスを作成できなくなり、サービスが一時停止される可能性があり、ビジネス機能に影響します。 PID 不足訓練を実行して、PID の枯渇またはサービスの一時停止シナリオをシミュレートし、サービスの高可用性をテストする必要があります。

実装

PID 不足訓練では、ACS-ECS-TaskLimit クラウドアシスタントプラグインを使用して、fork() メソッドを使用して、pid_max と threads-max の値の小さい方に達するまでプロセスを作成することにより、新しいプロセスまたはスレッドの作成を防止します。

手順

前提条件

エラーを挿入する

  1. ECS インスタンスにログオンします。

    詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. sudo 権限を持つユーザーとして ACS-ECS-TaskLimit クラウドアシスタントプラグインを実行します。

    重要

    ACS-ECS-TaskLimit クラウドアシスタントプラグインは、新しいビジネスプロセスの作成に影響を与えますが、既存のビジネスプロセスには影響を与えません。

    sudo acs-plugin-manager --exec --plugin ACS-ECS-TaskLimit --params inject

    次の出力は、ACS-ECS-TaskLimit クラウドアシスタントプラグインが実行されていることを示しています。

    image

  3. エラーが挿入されたかどうかを確認します。

    エラーが挿入された場合、新しいビジネスプロセスは次のエラーメッセージで作成に失敗します:-bash: fork: retry: Resource temporarily unavailable.

    image

エラーから回復する

次のいずれかの方法を使用して、挿入されたエラーを削除できます。

  • 方法 1(推奨):インスタンスを再起動します。 詳細については、「インスタンスを再起動する」をご参照ください。

  • 方法 2:次の回復コマンドを実行します。

    重要

    システムのブロックが原因で、回復コマンドが実行に失敗する可能性があります。

    sudo acs-plugin-manager --exec --plugin ACS-ECS-TaskLimit --params recover