Written by
JackYamamotoCatalinaをインストールした後、2017年製MacBook Proは数時間後にフリーズし、強制再起動が必要になります。Terminalを使用して任意のアプリを実行しようとすると、次のエラーが表示されます。「Resource temporarily unavailable.」- Apple Community
MacまたはLinuxシステムを使用している中で「Resource temporarily unavailable」エラーに遭遇したことがありますか?あなただけではありません。特にmacOSをアップグレードしたりLinux環境で複数のプロセスを実行しているユーザーから、この問題が報告されています。
このエラーは、アプリやスクリプトを起動する際にターミナルに表示され、場合によってはシステム全体がフリーズしたり応答不能になったりすることがあります。このガイドでは、このエラーの意味を理解し、解決するための実用的な方法を紹介します。
「Resource temporarily unavailable」エラーを解決する方法
「Resource temporarily unavailable」は、macOSやLinuxなどのUnixベースのシステムでよく見られるシステムレベルのエラーです。システムは一時的な問題として示唆していますが、手動で対処しないと続くことが多く、アプリの起動の失敗、システムの遅延、頻繁なクラッシュなどの原因となります。
MacとLinuxでの修正方法は次のとおりです。
システムを再起動する
システムの再起動は、一時プロセス、メモリの割り当て、オープンされたファイルディスクリプタをすべてクリアします。エラーがメモリリークやゾンビプロセスの増加などによって引き起こされている場合、再起動することで一時的に問題を修正できます。
重要な作業を保存し、MacまたはLinuxシステムを通常通りに再起動してください。再起動で問題が一時的に解決されるが、繰り返し発生する場合は、長時間実行されているバックグラウンドプロセスや設定の問題を示しています。
外部デバイスを切断する
macOSでは、diskarbitrationdなどのサービスが常に外部ドライブを監視しています。誤ったUSBドライブや適切なドライバーがインストールされていないNTFS形式のドライブは、システムがそれをマウントしようとしてループに入り、CPUの使用率が過剰になり、最終的にエラーが発生する可能性があります。
手順:
- すべての外部USBデバイス、SDカード、ハードドライブを取り外します。
- 数分待ち、システムのパフォーマンスを監視します。
- 問題のあるデバイスを特定するために、1つずつデバイスを接続します。
不要なアプリケーションとバックグラウンドプロセスを閉じる
すべてのアプリケーションは、システムリソース、プロセス、スレッド、メモリ、およびファイルハンドルを消費します。同時に多くのアプリケーションを実行すると、ユーザーリミットが尽き、エラーが発生する可能性があります。
macOSでは、 Activity Monitor を開きます(Applications > Utilities > Activity Monitor)。
Linuxでは、top、htop、またはps auxを使用してアクティブなプロセスを確認します。
スレッド、CPU、またはメモリで並べ替え、非必須アプリを強制終了または殺す。
kill -9
セーフモードで起動する
セーフモードではサードパーティの拡張機能、起動エージェント、および一部の起動項目が無効になります。エラーが背景サービスや不良なログイン項目によって引き起こされる場合は、セーフモードで起動することでそれを隔離するのに役立ちます。
方法:
- Mac をシャットダウンします。
- Shift キーを押しながら起動します。
- ログイン画面が表示されたら Shift キーを離します。
下のアイコンをクリックして、この方法を他の人と共有しましょう!
問題のある起動エージェントや起動スクリプトを特定する
ログイン項目、クーロンジョブ、またはサードパーティのデーモンが繰り返しスクリプトを実行したりプロセスを繰り返し生成したりして、システムリソースを使い果たす場合があります。疑わしいエントリをチェックして削除または無効にし、再起動します。
ログイン項目をチェック:System Settings > Users & Groups > Login Items.
これらのディレクトリを調べます:
- ~/Library/LaunchAgents/
- /Library/LaunchAgents/
- /Library/LaunchDaemons/
Linux での方法:
- /etc/cron.* を確認して繰り返すジョブを確認する
- .bashrc、.bash_profile、.zshrc を確認して意図しないループを確認する
SMC および NVRAM をリセットする(macOS のみ)
場合によっては、電力関連の問題やサーマルスロットリングの問題がmacOSを不安定にし、システムリソースを誤って管理する場合があります。
SMCをリセットする方法(Intel Macs):
- Mac をシャットダウンします。
- Shift + Control + Option + Power を10秒押し続けます。
- すべてのキーを離して Mac を再起動します。
NVRAM をリセットする方法:
- Mac をオフにします。
- Option + Command + P + R を20秒間押しながら電源を入れます。
Apple Silicon Mac は起動時に NVRAM を自動的にリセットします。
「リソースが一時的に利用できない」とは何を意味するのか
適切な解決策を見つけた後は、「リソースが一時的に利用できない」というエラーの原因を理解すると、将来的に防ぐための手助けになります。
このエラーは、macOSやLinuxなどのUnixベースのオペレーティングシステムで一般的なシステムレベルのメッセージであり、通常はシステムが必要なリソースを一時的に割り当てることができないことを意味します。これは壊れたファイルやクラッシュしたアプリケーションを示すものではありません。
その代わりに、通常はシステムがプロセス、スレッド、ファイルディスクリプタ、またはロックの制限などのリソース枯渇によって、その瞬間に要求を満たすことができないことを意味します。
“Resource temporarily unavailable” エラーの最も一般的な原因は次のとおりです:
- 実行中のプロセスが多すぎる。各ユーザーは一定のプロセス数に制限されています。この制限に達したとき、プログラムが新しいプロセスを作成しようとすると、システムはこのエラーをスローします。
- 開いているファイルやネットワーク接続が多すぎる。オペレーティングシステムは同時に開くことのできるファイルやソケットの数を制限しています。プログラムがファイルを開いたまま閉じない場合、rapidly exhaust this limit.
- 外部デバイスやディスクの問題。macOSでは、サポートされていないまたは壊れた形式(適切なドライバーのないNTFSドライブなど)の外部ドライブを接続すると、リソースの競合が発生し、このエラーが発生する可能性があります。
- システムのバグやリソースリーク。一部のシステムレベルのバグやサードパーティの拡張機能が時間の経過とともにリソースを徐々に消費し、最終的にこのエラーを発生させることがあります。たとえわずかなアプリケーションが実行されている場合でも。
- ノンブロッキングI/Oやリソースの競合。マルチスレッドまたは非同期環境では、ファイル、ポート、またはロックが競合のため一時的に利用できない場合、システムはこのエラーを返し、プロセスが後でリトライすることを期待します。
この記事が役に立ったら友達と共有してください!