Macを使用している間、500以上のプロセスがバックグラウンドで動作していることがあります。この数字、驚くかもしれませんが、macOSがスムーズに動作するためにはごく普通のことです。 その中のプロセスの一つがmDNSResponderです。 この記事では、mDNSResponderとは何か、なぜMacにあるのか、削除しても大丈夫なのか、そしてCPUやネットワーク使用率が高くなるなどの問題がある場合の対処法についても解説していきます。 それではいきましょう!

mDNSResponderとは?そしてなぜMacに必要なの?

mDNSResponder(マルチキャストDNSレスポンダー)は、Bonjour(ボンジュール)ネットワークプロトコルの一部であり、macOSの常駐プロセスです。このプロセスはローカルネットワーク内の他のデバイス(Mac、プリンタ、NASなど)を自動的に検出し、接続する機能を提供したりインターネットに接続する必要があるサービスのために、DNSリクエストを処理する役割を担っています。また、インターネットに接続する必要があるサービスのDNSリクエストも処理します。

かつてAppleは、mDNSResponderの代わりに「discoveryd」というプロセスを導入したことがありました。ですが結果は大失敗に終わりました。というのも、mDNSResponderは10年以上にわたって微調整され続けてきた信頼のあるプロセスであり、ネットワーク機能はmacOSにおいて最もトラブルが多い領域のひとつでもあるからです。 結局AppleはmDNSResponderを使用することになり、現在ではアクティビティモニタで確認することができます。

ご存知でしたか?

Ars Technicaによると、AppleがmDNSResponderをmacOSに戻したところ、300件ものバグレポートが解決できたと言われています。 このことは、mDNSResponderを削除することがmacOSにどれだけの影響を与えたかを示しており、Appleが常に正しいわけではないということを証明しています。

mDNSResponderはアンインストールできますか?

いいえ。できませんし、しようとも思わない方が正解です。 たとえ終了させても、自動的に再起動されます。 ただし、無効化することは可能です。ですが、これは他の対策をすべて試しても改善しなかった場合の「最後の手段」となります。この記事の最後でその方法をご紹介します。 それではみていきましょう。

mDNSResponderの問題について

一部のMacユーザーは、mDNSResponderがネットワーク帯域を大量に消費し、「ジャンクパケット(不要な通信)」を大量に送信していると報告しています。 これはネットワークモニタリングツールを使うことで発見されることが多いです。 そのため、「削除したい」「無効にしたい」と感じる人もいるわけです。

ただし、mDNSResponderを削除するとBonjour(ボンジュール)機能が壊れ、ネットワーク上の他のデバイスの検知や接続が不可能になります。 Bonjourを無効化することもできますが、そうすることで、接続したいすべてのデバイスの情報を手動入力しなければならず、HandoffやContinuityなど、自動検出に依存する機能が使えなくなるという大きなデメリットがあります。

もしそれが原因でMacの動作不良が見られるのであれば、いくつか試せることがあります。 1つずつ見ていきましょう。

1. DNSキャッシュをリセットする

mDNSResponderに関する問題に直面したり、アラートが表示される場合は、CleanMyMacのようなユーティリティでDNSキャッシュの削除を行います。 これは、サーバー接続の問題を解決するのに役立ちます。

CleanMyMacの無料トライアルをお試しください。

アプリをインストール後に、サイドバーの「パフォーマンス」に移動して「スキャン」をクリックします。 推奨されるメンテナンスタスクのリストが表示されます。特定のタスクを選択するには「確認」をクリックします。 次に「DNSキャッシュをフラッシュ」を選択して「実行」をクリックします。

2. CPUに負担を掛けているバックグラウンド項目を確認

Macのバックグラウンドプロセスをより深く把握するには、こちらの無料のCleanMyMacの分析ツールがおすすめです。 CleanMyMacには、メモリやその他のシステム情報を分析できる小さなメニューアプリが付属しています。 メインのCleanMyMacアプリをインストールしたら、画面上部のメニューバーにあるiMacのアイコン(小さなMacの絵)をクリックしましょう。

CPUタブではどのアプリがCPU(プロセッサ)に負荷をかけているかを確認できます。 表示されたリストをチェックしてみましょう。 意外なアプリがリソースを使っているかもしれません。 また「メモリ」のタブからメモリ使用量をリアルタイムで確認することもできます。 あまりに負荷の高いアプリは終了してあげましょう。

3. アクティビティモニタでmDNSResponderを管理する

mDNSResponderに関する問題をmacOSの標準ツールで対処したい場合、アクティビティモニタを使ってプロセスを管理することも可能です。 システムプロセスは一見わかりづらいこともあります。 ですが、アクティビティモニタには検索機能が付いているので、必要なプロセスを簡単に見つけることができます。

以下の手順でご利用できます:

  1. 「アプリケーション」> 「ユーティリティ」からアクティビティモニタを開きます。
  2. 画面右上の検索バーに mDNSResponder と入力します。
  3. 表示されたすべてのプロセスを選択し、ツールバーの「X」ボタンをクリックします。
  4. 「終了」をクリックします。

このプロセスは自動的に再起動されます。 もしmDNSResponderがCPUを大量に使用していた場合、一度終了することで負荷が軽減される可能性があります。 この操作は完全に安全なので、必要に応じて定期的に繰り返しても問題ありません。

簡単な修正方法

mDNSResponderのネットワーク使用率が高い場合は、現在のWi-Fiネットワークを削除し、「システム設定 > Wi-Fi」から再度追加しましょう。 ネットワーク使用率は、アクティビティモニタの「ネットワーク」タブで確認できます。

4. Macを再起動する

実は、MacBookの動作が不安定なときに最初に試すべきなのが「再起動」です。ですが、意外と見落とされがちな対処法でもあります。 もしアクティビティモニタでmDNSResponderを終了しても改善されなかった場合は、Appleメニューから「再起動」を選びましょう。これにより、すべてのプロセスが一旦終了し、メモリが解放され、一時的な不具合が改善される可能性があります。 Macを週に一度ほど再起動する習慣をつけると、全体の動作を良好に保つのに役立ちます。

5. ターミナルを使用

mDNSResponderを管理するもうひとつの標準ツールはターミナルです。 ターミナルは、macOSと直接やり取りができるコマンドラインツールです。 ただし、誤ったコマンドを入力するとmacOSの正常な動作に支障をきたす恐れがあるため、ある程度技術的なな知識がある方のみ実行することをおすすめします。

  1. 「アプリケーション」>「ユーティリティ」に進んで「ターミナル」を起動します。
  2. 次のコマンドを入力し、Return(Enter)キーを押します: sudo killall -HUP mDNSResponder
  3. パスワードを入力します。

このコマンドを実行すると、DNSキャッシュがフラッシュ(消去)され、mDNSResponderプロセスが実行し、設定も再読み込みされます。その結果、CPU使用率の高さや、その他DNS関連の不具合の解消に役立つことがあります。

Tip

セーフモードでmDNSResponderが正常に動作するかどうか確認してみましょう。 もしセーフモードでは問題が発生せず、通常起動時にだけおかしくなる場合は、「システム設定 > 一般 > ログイン項目と機能拡張」にあるログイン項目が原因かもしれません。 この記事参考にして、手順に従ってセーフモードで起動し、mDNSResponderが誤動作しなければ、普通に起動してすべてのログイン項目を削除してみましょう。 そして、原因を突き止めるために、ひとつずつ追加していくのが大切です。 問題の原因となっているものをオフにすることを検討してください。

6. mDNSResponderを無効化する

まず重要なこととして、mDNSResponderはmacOSの動作にとって非常に重要なプロセスであり、無効化は絶対に「最後の手段」として認識してください。 MDNSResponderはmacOSの機能を担う重要な部分だからです。 基本的には推奨されませんが、テスト目的で一時的に無効化し、のちに再有効化するという方法は可能です。

  1. macOS復旧モードで起動します。-詳しくは こちらの記事 をご覧ください。
  2. まずはSIP(System Integrity Protection)を無効化します。 メニューバーから「ユーティリティ > ターミナル」を開き、以下のコマンドを入力して実行します:
    csrutil disable
  3. 「アプリケーション > ユーティリティ」からターミナルを開きましょう。
  4. そして以下のコマンドを入力し、そのパスワードを入力します:
    sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSresponder.plist
  5. 問題が改善されたか確認し、もしされている場合はmDNSResponderを再び有効にします。以下のコマンドを入力し、再度パスワードを入力して実行しましょう: 
    sudo launchctl load -w/System/Library/LaunchDaemons/com.apple.mDNSresponder.plist

  6. 再度復旧モードで起動し、以下のコマンドでSIPを再有効化します:
    csrutil enable
  7. 通常通り再起動しましょう。

7. macOSを再インストールする

上記すべての手順を試しても、mDNSResponderのネットワーク使用量やCPU負荷が改善されない場合は、macOSの再インストールを検討しましょう。 これは、破損したシステムファイルを含めてmacOS全体を上書きするため、問題の解決につながることがあります。

まずは最新のバックアップをとっておきましょう。 macOSの再インストールは通常データに影響を与えませんが、念のために最新のバックアップを取っておくことを強くおすすめします。 もしバックアップ方法がわからない場合は、 こちらの記事 で紹介しています。

その後、リカバリーモードで再起動して「macOSを再インストール」を選択しましょう。

バックグラウンドで動いているのを見て「怪しい」と思う方もいますが、mDNSResponderはウイルスではありません。 Mdnsresponderは、Bonjourでローカルネットワーク上のデバイスを自動検出するための、macOSに不可欠な要素です。 そのため、削除しようとするべきではありません。 もしこのプロセスのせいでMacの動作が遅くなっているとお考えなら、おそらく別の原因があるはずです。 今回ご紹介した対処法のいずれかが、問題の解決に役立っていれば幸いです。