What is mDNSResponder on a Mac?
mDNSResponder is the macOS process that looks up web addresses and finds devices on your network. It handles Bonjour, which is how a Mac finds printers and other Macs by name, and it handles DNS, which turns a site name into an address. It is part of macOS, it is safe, and it can be busy on a crowded network or when something keeps asking it for names.
If your network is slow or a site will not load, resetting its cache is a well-known fix, and there is a Terminal command for it further down. First, what it is doing.
What mDNSResponder does
It has two jobs, and both are about names.
DNS. When you type a site into a browser, your Mac needs the numeric address behind the name. mDNSResponder asks a DNS server and remembers the answer for a while, so the next visit is quicker. Almost every app that touches the internet goes through it.
Bonjour. This is Apple’s name for finding devices and services on your local network without setting anything up. When your Mac sees a printer, a shared Mac, an Apple TV or a speaker by name, Bonjour is how. The “m” in mDNS stands for multicast: devices announce themselves and ask questions to the whole network at once.
Foreman describes it in one line: “Bonjour and DNS. Looks up web addresses and finds devices on your network.” That is the whole job, which is why it is always present and usually barely noticeable in use.
Why it gets busy
- A busy network. An office, a shared house or a venue with many devices and printers makes a lot of Bonjour chatter, and your Mac listens and answers.
- Something asking for names over and over. A browser with many tabs, a sync app or a game can send a lot of lookups. A broken or very slow DNS server makes it worse, because the lookups time out and are repeated.
- A network change. Joining a different Wi-Fi network, waking from sleep or connecting a VPN makes it refresh what it knows.
- A misbehaving device. A device on your network announcing itself in a loop can keep every Mac nearby busy.
Because of the first and last cause, mDNSResponder is one of the few macOS processes where the cause may not be on your Mac at all.
How to check it
See the numbers. This Terminal command is read-only:
ps -o pid,%cpu,rss,comm -p $(pgrep -x mDNSResponder)
A healthy result is close to zero. Run it a few times; short bursts after joining a network are normal. ps counts each processor core as 100%, so its numbers run higher than a share of the whole Mac.
In Foreman, it appears as “Bonjour and DNS”, with the real name beside it in grey, and its CPU figure is a share of the whole Mac. The Network column shows how much it is sending and receiving, which tells you at a glance whether it is chatting or sitting still. Foreman is a $12 Task Manager for macOS and is free for 24 hours.
For a wider look at what is using your connection, see How to see which app is using your network on a Mac.
What to do if it is stuck high
1. Turn Wi-Fi off and on. A new connection resets a lot of what it knows. Use the Wi-Fi item in the menu bar or System Settings, Wi-Fi.
2. Clear the DNS cache. This is the well-known fix when names will not resolve or it seems confused. In Terminal:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
It asks for your password. The second part sends mDNSResponder a “hang up” signal, which makes it forget the answers it had cached. The process keeps running; nothing is stopped or restarted. It is a reset of a cache, not a deletion of anything of yours, and the first few lookups afterwards are a little slower while it relearns.
3. Restart the router. If the problem is on the network, the Mac cannot fix it. This is the usual fix when several devices are acting up together.
4. Check for a looping device. If it is high only on one network, an old printer, a smart speaker or a media box may be the cause. Disconnect devices one at a time and watch whether it settles.
5. Restart the Mac if none of that helps.
Should you end it?
No. Ending mDNSResponder cuts off name lookups for everything on the Mac for a moment: pages will not load and printer and device discovery may fail until macOS starts it again. macOS does start it again, so nothing is lost for good, but the interruption is the opposite of what you wanted. The command in step 2 clears the cache without stopping anything, and it is the one to use.
It also runs under a system account, _mdnsresponder, so ending it needs an administrator password, and Foreman does not offer Efficiency Mode for it: macOS only lets an administrator slow down processes owned by root or a system account.
The other process that finds nearby devices is covered in What is sharingd on a Mac?.
When it is worth worrying
If mDNSResponder stays above a few percent for hours on your home network after the cache reset, a restart and a router restart, treat it as a network issue. Check your DNS settings in System Settings, Network, on the details of your connection, and consider whether a VPN or filtering tool is in the way. If your Mac gets its DNS server from the router, trying a different DNS server there is a quick test of whether the router is the slow part.
The short version
mDNSResponder turns names into addresses and finds devices on your network. It is busy on crowded networks or when something keeps asking for names. Toggle Wi-Fi, flush the DNS cache with the command above, and restart the router before blaming the Mac. To keep an eye on it, Foreman shows it as “Bonjour and DNS” with its network use beside it.