web-dev-qa-db-ja.com

fork:再試行:リソースは一時的に利用できません

Intel MPI Benchmarkをコンピューターにインストールしようとしましたが、次のエラーが表示されました。

fork: retry: Resource temporarily unavailable

その後、lsおよびtopコマンドを実行したときに、このエラーを再度受け取りました。

このエラーの原因は何ですか?

私のマシンの構成:

Dell precision T7500
Scientific Linux release 6.2 (Carbon)
74
user1260391

これは通常、ファイル記述子が不足していることが原因です。

システムには合計ファイル記述子の制限があります。コマンドから何を取得できますか。

sysctl fs.file-nr

これは、ファイル記述子のカウントを返します。

<in_use> <unused_but_allocated> <maximum>

ユーザーファイル記述子の制限が何であるかを調べるには、次のコマンドを実行します。

Sudo su - <username>
ulimit -Hn

ユーザーが使用しているファイル記述子の数を調べるには、次のコマンドを実行します。

Sudo lsof -u <username> 2>/dev/null | wc -l

そのため、システムファイル記述子の制限の問題がある場合は、/ etc/sysctl.confファイルを編集して、既に存在するファイルであるfs.file-maxの行を追加または変更し、値を大に設定する必要があります。必要なファイル記述子の数を処理し、再起動するのに十分です。

fs.file-max = 204708
75
Satish

別の可能性は、スレッドが多すぎることです。スレッドプールを使用するアプリに対してテストハーネスを実行すると、このエラーメッセージが発生しました。使用しました

watch -n 5 -d "ps -eL <Java_pid> | wc -l"

指定されたJavaプロセスID内で実行されているLinuxネイティブスレッドの進行中のカウントを監視します。これが約1,000件(当社-YMMVの場合)に達した後、言及したエラーメッセージの取得を開始しました。

47
Willie Wheeler