0

Max OSX10.6.2でBazaarv2.0.1を使用しています

多数のファイル/ディレクトリ(10,000を超える)を移動した後にコミットを実行すると、次のエラーメッセージが表示されます。

bzr:エラー:[Errno 24] open:開いているファイルが多すぎます:'。'

私の最初の回避策は、コミットをいくつかのサブセットに分割することでした。ただし、これは理想的ではなく、1つの変更(サブセットに分割できない)で同じエラーが発生する可能性があります。

[アップデート]

いくつかの調査を行った後、これは私が見つけたものです:

次のようになります。

Errno 24「開く:開いているファイルが多すぎます」

Pythonエラーです。

このブログ投稿によると、開くファイルの数の制限は、Pythonスクリプト内から。を使用して変更できますresource.setrlimit。ただし、Bazaarが自動的により高い値で実行されるようにデフォルト値を変更する方法を本当に探していました(ところで、私のデフォルト設定は2560だったようです)。

setrlimitシステムコールに関するアップルのドキュメントによると、設定を変更するために使用できるulimitと呼ばれるsh組み込みコマンドがあります。シェルから開始されたプロセスはすべて、この値を継承します。

私の現在の回避策は、 〜/.profileulimit -n 10240に追加することです。このように、シェルから実行すると、10240個のファイルを開くことができます。10240ファイルを選択したのは、これがMacOSXのユーザープロセスに許可されている最大値だからです。bzr commit

Bazaarでは、一度に多くのファイルを開く必要はないようです。さらにファイルを移動すると、再び噛み付く可能性があるのではないかと心配しています。これはBazaarのバグですか?他にできることはありますか?

4

2 に答える 2

3

を使用lsofして、開いているすべてのファイルを表示できます。バザールプロセスのpidをgrepするか、開いているファイルの数を監視してみてください。

状況に関連するすべてのファイル/プロセスを表示するには、rootである必要がある場合とない場合があることに注意してください。

于 2010-01-18T21:33:34.617 に答える
2

シェルがbazaarをサポートしている場合は、bazaarを実行する前に(またはそれ以上)試してくださいulimit -n 1024(bashが組み込まれています)。

ジンクス!~/.profile編集:ある場合は、またはに入れることができます~/.bash_profile

于 2010-01-18T21:42:30.067 に答える