メインコンテンツまでスキップ

macOSでファイルハンドル数の上限を引き上げる

RcloneViewで大量のファイルを処理する場合(例:数百のファイルを同時に同期またはコピーする場合)、次のエラーが発生することがあります。

Too many open files

これは、macOSがプロセスが開けるファイルディスクリプタ(ファイルハンドル)の数に上限を設けているために発生します。デフォルトでは、この値は多くの場合256または1024に設定されており、負荷の高い処理には不十分な場合があります。


🔍 現在の上限を確認する方法

ターミナルコマンド:

ulimit -n             # Current shell session soft limit
launchctl limit maxfiles # System-wide soft and hard limits

🛠️ 推奨設定

  • ソフトリミット: 524288
  • ハードリミット: 524288

この設定により、並列ジョブ、リモートのマウント、大規模な同期処理を、ファイルディスクリプタの上限に達することなく実行できます。


📘 手順:上限を恒久的に引き上げる

1. LaunchDaemon plistファイルを作成する

ターミナルを開き、以下を実行します。

sudo nano /Library/LaunchDaemons/limit.maxfiles.plist

以下の内容を貼り付けます。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>limit.maxfiles</string>
<key>ProgramArguments</key>
<array>
<string>launchctl</string>
<string>limit</string>
<string>maxfiles</string>
<string>524288</string>
<string>524288</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

2. 適切な権限を設定する

sudo chmod 644 /Library/LaunchDaemons/limit.maxfiles.plist

3. Macを再起動する

sudo reboot

4. 新しい上限を確認する

launchctl limit maxfiles

📎 参考資料


問題が発生した場合は、rcloneview@bdrive.com までお問い合わせください。