configd on Mac: the network configuration daemon and why it is using CPU
configd is the System Configuration daemon. It keeps track of your network state (which Wi-Fi you are on, your IP address, DNS, whether the VPN is up) and tells every app when any of it changes. It is normally near zero. When it is using CPU for more than a minute, something is changing the network over and over: a VPN reconnecting, Wi-Fi roaming between access points, Internet Sharing, or a stuck DNS lookup. Do not quit it; it runs as root and the Mac's networking depends on it. Fix the thing that keeps changing.
- What it is
- The daemon that owns your network and system configuration and broadcasts changes to apps, VPN clients and the menu bar.
- Normal
- 0 to 1 percent CPU, a brief jump when you join Wi-Fi, plug in Ethernet, connect a VPN or wake from sleep.
- Not normal
- Steady 20 to 100 percent for minutes with no network change you made. Something is flapping.
- Safe to quit?
- No. It is a root system daemon. Killing it drops your network for a moment and it relaunches; nothing is fixed.
- The one safe fix
- Turn off the VPN, Internet Sharing or extra network location that keeps changing, then rejoin Wi-Fi. Restart if it persists.
What configd does
configd is the System Configuration server. It holds the live picture of how your Mac is connected: the active network interfaces, the IP addresses they got from DHCP, the DNS servers, the proxy settings, the network location, the VPN tunnels, and a number of other system settings such as the computer name and power state. Any time one of those changes, configd updates its store and sends a notification. Safari, Mail, the Wi-Fi menu, your VPN client, Messages, iCloud and dozens of system daemons all subscribe, so one change can fan out into hundreds of callbacks.
It does this with a set of plug-ins loaded from /System/Library/SystemConfiguration: one handles IP addressing, one watches link state (is the cable plugged in, is Wi-Fi associated), one handles DNS and one handles the preferences file that System Settings edits. Because it is the single source of truth for networking, it starts early at boot, runs as root, and is kept alive by launchd for the whole session.
A MacRumors regular summed it up in a 2023 thread: the configd process "monitors changes to network configuration." That is the whole job, and it is why configd is never busy on a Mac where the network is not changing.
What normal looks like
configd's CPU is a count of how often the network changed. On a desk with a wired connection it barely moves all day. On a laptop that roams, it moves more. Here is the range:
On Apple silicon Macs it also shows up briefly whenever you plug or unplug Thunderbolt and USB devices that carry a network interface, including some docks and iPhones in USB tethering mode. That is a real configuration change and the spike is normal.
Why configd is using CPU right now
Every sustained configd problem people describe comes down to one of these:
- A VPN that keeps reconnecting. Each reconnect is a new tunnel interface, new routes and new DNS, and configd broadcasts all of it. Some VPN clients also install a network extension that polls configd constantly. If the VPN icon flickers, this is your cause.
- Internet Sharing is on. An Apple Community poster who had configd stuck at 90 percent or more found "it was the fact I had internet sharing enabled." Sharing turns the Mac into a router and configd works much harder.
- Wi-Fi roaming or a weak signal. On a mesh network or at the edge of two access points the Mac bounces between them, and each bounce is a full reconfiguration.
- A stale network location or extra service. Old VPN entries, a Bluetooth PAN service, or a dead Ethernet adapter listed in Network settings can leave configd retrying something that never succeeds.
- A hardware or power quirk. There are threads where configd and powerd climb together on battery, and in a few cases a non-Apple replacement battery or a failing sensor was the trigger. If configd only misbehaves when unplugged, note that for the repair shop.
- The first hour after an update. Mojave, Catalina and several later updates each produced a wave of configd reports that faded as caches settled. Give an update a little time.
What it is not: malware, and not something a cleaner app can fix.
Is it safe to quit configd?
No. configd runs as root, is started by launchd at boot, and the Mac's networking depends on it. Older how-to articles still suggest killing it from Terminal with elevated privileges; on modern macOS that is both unnecessary and the wrong tool. Force quitting it from Activity Monitor is possible, and what happens is that your network blinks, every subscriber reconnects, launchd relaunches configd, and within a few seconds it is back doing the same work, because whatever was changing the network is still changing it.
The right move is always one level up. Find what is flapping (VPN, sharing, roaming, a stale service) and stop that. If nothing is obviously flapping, a restart gives configd a clean start without you touching a root process.
Type any process name above for the same verdict. For configd it is "leave it, and fix the network it is reacting to."
What to do, in order
- Turn off the VPN for ten minutes
Disconnect any VPN and watch configd in Activity Monitor. If it falls to zero, the VPN was the cause. Reconnect, and if it climbs again, update the VPN app or try its other protocol setting; many clients offer two.
- Turn off Internet Sharing and other sharing
Open System Settings, General, Sharing. Turn off Internet Sharing if it is on. If you do not use them, also turn off Content Caching and Remote Login. Check configd again after a minute.
- Forget and rejoin the Wi-Fi
In System Settings, Wi-Fi, click Details next to your network and choose Forget This Network, then join again. This clears a stuck DHCP or DNS state. If you have a mesh network, try moving closer to one node to see whether roaming was the trigger.
- Remove dead network services
In System Settings, Network, look for services you no longer use: an old VPN, a Bluetooth PAN, an adapter you no longer own. Select each and choose Delete Service from the menu at the bottom. Fewer services means less for configd to retry.
- Restart, then watch on battery and on power
Restart the Mac. If configd stays quiet, you are done. If it only climbs on battery, that is worth mentioning to Apple support or a repair shop, since a few threads trace it to the battery or a sensor rather than software.
When to worry
configd using CPU is a nuisance (fan noise, battery drain, a laggy Wi-Fi menu) rather than a danger. Use time and context to decide how far to go:
- SecondsAfter joining a network, waking, or plugging in a dock. Normal.
- First hour after a macOS updateCaches and services settling. Normal. Leave it on power.
- Minutes, with no change you madeSomething is flapping. Check VPN, Internet Sharing and Wi-Fi roaming.
- Days, after every restartA stale network service, a VPN extension, or a hardware quirk on battery. Remove the service; if it tracks battery, get the Mac checked.
Because configd reacts to other things, the useful evidence is what else was busy at the same time: a VPN helper, powerd, mDNSResponder. Safe to Quit records that over hours so you can see the pattern rather than guess at it from one Activity Monitor glance.
What people hit, in their words
“And had the same issue with Configd staying at 90%+ CPU in Activity monitor. This was with the power cable though.”
“Basically after a bit of trial an error it was the fact I had internet sharing enabled.”
“If mds_stores is not high, then I see configd process with ~150% of CPU load.”
Questions people ask
What is configd on my Mac?
configd is the System Configuration daemon, the process that keeps the live record of your Mac's network and system settings: interfaces, IP addresses, DNS, proxies, VPN tunnels and the current network location. When any of those change, it notifies every app and service that cares. It runs as root from boot on every Mac and is a normal Apple component, not malware.
Why is configd using high CPU?
Because the network configuration keeps changing. A short spike when you join Wi-Fi or wake the Mac is normal. Sustained CPU means repeated changes: a VPN reconnecting, Wi-Fi roaming between access points, Internet Sharing turned on, or a stale network service that keeps failing. Turn those off one at a time until configd settles, and restart if nothing obvious is flapping.
Can I kill configd?
You can force quit it, but you should not. It is a root daemon that macOS relaunches immediately, and killing it briefly drops your network connections without fixing whatever caused the load. Older articles suggest Terminal commands with elevated privileges; skip those. Fix the VPN, sharing or Wi-Fi issue instead, or restart the Mac.
Why do configd and powerd use high CPU on battery?
A number of Apple Community threads describe both climbing only when the Mac is unplugged. Software causes are the usual ones, VPN and sharing, but a few cases traced to a non-original replacement battery or a faulty sensor. If configd is quiet on power and busy on battery after you have removed VPN and sharing from the picture, have the battery checked.
How do I check CPU usage on my MacBook?
Open Activity Monitor from Applications, Utilities, or search for it with Spotlight. Click the CPU tab, then click the % CPU column header to sort by usage. The processes at the top are the busy ones. Watch for a minute rather than a second; a process that spikes and drops is normal, one that stays pinned is the one to investigate. Our Activity Monitor page walks through it.
Sources and further reading
- What is configd and why is it running on my Mac? How-To Geek. Overview of the System Configuration daemon and its plug-ins.
- Configd using high CPU Apple Community, Oct 2018. The Internet Sharing finding quoted above.
- MacBook Pro mid 2015: mds_stores or configd CPU high load MacRumors, 2023. Source of the 150 percent report and the one-line description of configd.
- configd high CPU usage fix OSXDaily, 2013. Older article; the network location and sharing causes still apply, the Terminal step does not.
- System Configuration framework Apple developer documentation for the framework configd serves.