Written byJenny Zeng
Fix callservicesd Memory Leak & High CPU Usage on Mac
Summary: In this post, you will learn what callservicesd is, how to fix callservicesd memory leak & high CPU usage, and solutions to resolve callservicesd keeps asking for passwords.
You might have noticed that an Activity Monitor process called callservicesd is maxing out your Mac's memory or CPU, often accompanied by another process labeled soagent. If you wonder what callservicesd is and what to do when it consumes high memory or CPU usage, this post gives you the answers.
Guide to macOS callservicesd:
- 1. What is callservicesd?
- 2. callservicesd memory leak
- 3. callservicesd High CPU usage
- 4. callservicesd wants to use the login keychain
What is callservicesd?
macOS callserviced is a system daemon that's used for maintaining call state. So, it's closely related to apps such as Contacts, Messages, FaceTime, Zoom, etc. You can find it in Macintosh HD/System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd. When callservicesd is working well, it usually consumes no CPU and around 8MB of memory.
callservicesd memory leak
The callservicesd memory leak issue seems to occur more often with macOS Monterey, typically after a Zoom or FaceTime group call. A quick way to release memory on your Mac is to highlight callservicesd in Activity Monitor and then click the cross icon to force quit it. It will likely come back but with much smaller memory consumption. If that's not helping, try a fresh reboot.
callservicesd using a relatively high amount of RAM likely results from a Monterey bug, which may be addressed by Apple in future updates. If there's a new update available, you can install it to see whether the memory leak bug is resolved. Also, if you have customized the pointer on your Mac, it's advisable to reset it to default as pointer customization has been proved a major issue causing memory leaks on Monterey. Here's how to undo the changes:
- Open the Apple menu > System Preferences > Accessibility.
- Select Display > Pointer.
- Set the Pointer size to normal, the Pointer outline color to White, and the Pointer fill color to Black.
- Click Reset.
If callservicesd has become a big hassle, you can also do a clean reinstall of Monterey or downgrade to macOS Big Sur.
callservicesd High CPU usage
If callservicesd is consuming high CPU along with soagent, there's likely a Contacts syncing issue. callservicesd can use up your Mac's resources when it's syncing with multiple accounts. If that's also your case, you can keep Activity Monitor closely monitored while turning off Contacts sync from one account at a time to rule out the culprit. It's recommended to keep only one account syncing with Contacts.
Suppose you have only hooked up Contacts with Google or iCloud, callservicesd may take up a large amount of CPU when the syncing process is stuck due to faulty contacts, bugs, etc. In which case, you can disable iCloud or Google Contacts sync, then re-enable it.
Here are the steps to disable Contacts sync on Mac:
- Open the Apple menu > System Preferences > Internet Accounts.
- Select an account from the left side and uncheck the box next to Contacts.
If you are unwilling to unsync Contacts, you can set the Contacts to fetch every 5 minutes instead of immediately with these steps:
- Open Contacts.
- Click Contacts > Preferences from the top-left menu bar.
- From the drop-down menu next to Fetch, select "Every 5 minutes."
If the methods above aren't working for you, try to remove all accounts from the Internet Accounts preference pane by selecting an account and clicking the minus (-) icon, restart your Mac, then recreate them.
callservicesd wants to use the login keychain
Sometimes, your Mac will pop up a message reading "callservicesd wants to use the login keychain. Please enter the keychain password." However, the message keeps recurring no matter whether you enter the keychain password or click the Cancel button. If that happens to you, try the solutions below:
Disable Keychain auto-lock
If your keychain is locked automatically when your mac is inactive or not in sync with the app or service you are using, you may constantly receive the "callservicesd wants to use the keychain password." message. To avoid it from happening, you can turn off the auto-lock feature of Keychain Access.
- Launch Keychain Access by searching "keychain access" in Launchpad.
- Right-click on "login" from the left sidebar.
- Select “Changes Settings for Keychain "login."
- Uncheck the box next to "Lock after" and "Lock when sleeping."
- Click Save.
Boot into Safe Mode
callservicesd may keep asking for a password when there are corrupted caches on your Mac, which can be eliminated by booting into Safe Mode. Note that you should see "Safe Boot" when you are in Safe Mode. Follow the steps below to enter Safe Mode:
On an Intel-based Mac:
- Shut down your Mac.
- Press the power button, then immediately press and hold the Shift key until the login window shows up.
- Log in to your Mac when asked. It may ask you to log in twice.
On an M1 Mac:
- Turn off your Mac.
- Press and hold the power button until you see "Loading startup options."
- Select a volume.
- Hold the Shift key, then click "Continue in Safe Mode."