contactsd
다른 이름: 연락처 동기화
간단한 답
contactsd는 연락처를 관리하는 macOS 프로세스입니다. Mac에 있는 연락처 데이터베이스를 관리하고, 이름, 전화번호, 주소를 찾는 모든 앱에 응답하며, 인터넷 계정에 있는 계정과 함께 iCloud, Google, Exchange 등의 서버와 연락처를 동기화합니다.
주소록을 읽는 앱은 연락처만이 아닙니다. Mail은 보낸 사람에 이름을 붙이려고, 메시지와 FaceTime은 누가 전화하는지 보여 주려고, 캘린더는 초대받은 사람을 채우려고, Spotlight는 사람을 찾으려고 주소록을 씁니다. 모두 contactsd에 묻기 때문에, 연락처 앱이 열려 있든 아니든 contactsd는 실행됩니다.
대부분의 시간에는 유휴 상태로 거의 아무것도 쓰지 않습니다. 계정을 추가한 뒤의 첫 동기화, 대량 가져오기, 데이터베이스를 옮기는 macOS 업데이트, 실패와 재시도를 반복하는 계정처럼 실제로 할 일이 있을 때 바빠집니다. 몇 시간씩 CPU 목록 위쪽에 머무는 흔한 이유는 마지막 경우입니다.
이 페이지의 내용
contactsd가 CPU를 많이 쓰는 이유
계정을 추가하거나, vCard 파일을 가져오거나, macOS를 업데이트한 뒤 잠깐 치솟는 것은 정상이며 저절로 끝납니다. contactsd가 모든 카드를 읽고, 병합하고, 인덱싱하는 중이며, 주소록이 크면 시간이 걸립니다.
끝나지 않는 급증은 대개 한 계정이 루프에 빠졌다는 뜻입니다. contactsd가 서버에 변경 사항을 묻고, 처리할 수 없는 응답을 받고, 다시 묻는 것입니다. iCloud보다 Google과 Exchange 계정에서 더 자주 생기며, 보통 암호를 바꾼 후, 로그인이 폐기된 후, 또는 서버가 거부하는 그룹이나 카드가 있을 때입니다. 같은 계정을 두 번 추가해서 생기는 경우가 많은 수천 개의 중복 카드도 같은 식으로 바쁘게 만듭니다.
잠잠하게 만드는 방법
먼저 계정을 찾으세요. 시스템 설정 → 인터넷 계정을 열어 다시 로그인하라고 하는 계정이 있는지 보고, 연락처 앱을 열어 사이드바의 계정에 경고가 있는지 확인합니다. 한 계정이 문제라면 그 계정의 연락처를 끄고 1분 기다린 다음 다시 켜세요. contactsd가 그 계정의 로컬 사본을 버리고 다시 다운로드합니다.
어느 계정인지 알 수 없다면 iCloud를 제외한 모든 계정의 연락처를 끄고 contactsd가 잠잠해지는지 본 다음, 나머지를 하나씩 다시 추가하세요. 활성 상태 보기에서 contactsd를 종료하는 것은 잠깐만 도움이 됩니다. macOS가 곧바로 다시 시작하고, 같은 계정이 곧 다시 바쁘게 만듭니다.
contactsd가 멈췄는지 알아보는 방법
제대로 진행되는 동기화는 점점 조용해집니다. 루프에 빠진 동기화는 몇 분이 지나도 똑같아 보입니다. 활성 상태 보기와 터미널로 어느 쪽인지 알 수 있습니다.
- 활성 상태 보기를 열고 CPU 탭을 클릭한 다음 검색 필드에
contacts를 입력합니다. contactsd와 함께, 각 계정의 서버와 통신하는 도우미인 AddressBookSourceSync가 자주 보입니다. - 몇 분 동안 % CPU를 지켜보세요. 수치가 0을 향해 떨어지면 동기화가 끝나 가는 것입니다. 높게 유지되거나 일정한 간격으로 오르내리면 루프입니다.
- 네트워크 탭을 클릭합니다. 루프라면 보통 한 번의 큰 다운로드가 아니라 AddressBookSourceSync가 적은 양을 계속 주고받는 모습이 보입니다.
- 자세히 보려면 터미널을 열고
log stream --predicate 'process == "contactsd"'명령을 실행합니다. 같은 계정이나 서버 이름이 들어간 오류가 반복된다면 그 계정을 고쳐야 합니다. 멈추려면 Control-C를 누르세요.
정상적인 contactsd 사용량과 문제 상황
정상: contactsd는 0 근처에 머물다가 Mail이나 메시지가 이름을 찾을 때 잠깐 깨어나고, 계정을 추가하거나 카드를 가져온 뒤 몇 분 동안 일합니다. macOS 업데이트 뒤에는 데이터베이스를 새 형식으로 옮기느라 더 오래 바쁠 수 있습니다.
살펴볼 만한 경우: 몇 시간씩 바쁘거나, 아무것도 하지 않는데 팬이 돌거나, 연락처에 같은 사람이 두세 번 나옵니다. 흔한 원인은 다음과 같습니다.
- 암호를 바꿨거나 앱 암호가 폐기되어 다시 로그인해야 하는 계정.
- 인터넷 계정에서 한 번, 앱을 통해 한 번, 이렇게 두 번 추가된 같은 Google 또는 Exchange 계정.
- 예전에 가져오면서 생긴 수천 개의 중복 카드. 연락처에서 카드 → 중복 항목 찾기를 선택해 병합하세요.
- 동기화 횟수를 제한하는 서버를 쓰는 회사 계정. 시도할 때마다 거부되고 재시도됩니다.
contactsd가 연락처를 보관하는 위치
데이터베이스는 사용자 라이브러리의 ~/Library/Application Support/AddressBook에 있으며, Sources 아래에 계정마다 폴더가 있습니다. 동기화 문제를 고치려고 이를 직접 지우거나 편집하지 마세요. 인터넷 계정에서 그 계정의 연락처를 껐다가 켜면 그 계정의 사본이 안전하게 다시 만들어지며, Mac에만 있는 연락처는 건드리지 않습니다.
더 큰 변경을 하기 전에 연락처에서 파일 → 내보내기 → 연락처 아카이브로 백업을 내보내세요. 모든 계정의 모든 카드가 나중에 가져올 수 있는 파일 하나에 저장됩니다.
자주 묻는 질문
Mac의 contactsd, 무엇인가요?
연락처를 관리하는 macOS 프로세스입니다. 연락처 데이터베이스를 관리하고, 사람을 찾는 앱에 응답하며, iCloud, Google, Exchange 등의 계정과 연락처를 동기화합니다.
contactsd의 CPU 사용량이 높은 이유는 무엇인가요?
잠깐이라면 계정 추가, 가져오기, macOS 업데이트 후에 동기화나 인덱싱을 하고 있기 때문입니다. 몇 시간씩이라면 어떤 계정이 실패와 재시도를 반복하거나, 주소록에 중복 항목이 가득하기 때문입니다.
contactsd는 바이러스인가요?
아닙니다. macOS의 일부이며 launchd가 사용자 계정으로 시작합니다. 제거할 수 없고, 제거할 이유도 없습니다.
AddressBookSourceSync는 무엇인가요?
contactsd가 각 연락처 계정을 서버와 동기화하는 데 쓰는 도우미입니다. contactsd와 함께 바쁘다면 계정 중 하나가 동기화 중이며, 둘 사이의 루프는 대개 특정 계정 하나를 가리킵니다.
계정의 연락처를 끄면 연락처가 삭제되나요?
그 계정의 사본을 서버가 아니라 Mac에서 지웁니다. 다시 켜면 연락처가 다시 다운로드됩니다. 나의 Mac에만 저장된 연락처는 영향을 받지 않습니다.
관련 항목
활성 상태 보기보다 나은 것을 찾고 있나요? Mac용 활성 상태 보기 대체 앱 추천을 확인하거나 용어집의 모든 용어를 둘러보세요.