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のバグですか?他にできることはありますか?