Глосарій/Процеси, які ви побачите
contactsd
Також: синхронізація контактів
Коротка відповідь
contactsd — процес macOS, який керує вашими контактами. Він зберігає базу даних «Контактів» на вашому Mac, відповідає кожній програмі, що шукає імʼя, номер чи адресу, і разом з обліковими записами з розділу «Інтернет-записи» синхронізує контакти з iCloud, Google, Exchange та іншими серверами.
Не лише «Контакти» читають вашу адресну книгу. «Пошта» бере з неї імена відправників, «Повідомлення» і FaceTime показують, хто дзвонить, «Календар» заповнює запрошених, а Spotlight знаходить людей. Кожна з них звертається до contactsd, тому він працює незалежно від того, чи відкрито програму «Контакти».
Здебільшого він неактивний і майже нічого не споживає. Він стає зайнятим, коли є справжня робота: перша синхронізація після додавання облікового запису, великий імпорт, оновлення macOS, що переносить базу даних, або обліковий запис, який раз у раз дає збій і пробує знову. Останнє — звичайна причина, чому він годинами тримається вгорі списку за процесором.
Чому contactsd так навантажує процесор
Короткий сплеск після додавання облікового запису, імпорту файлу vCard чи оновлення macOS — це нормально, і він минає сам. contactsd читає, обʼєднує й індексує кожну картку, а велика адресна книга потребує часу.
Сплеск, що ніяк не закінчується, зазвичай означає, що один обліковий запис застряг у циклі. contactsd просить у сервера зміни, отримує відповідь, яку не може обробити, і просить знову. Облікові записи Google і Exchange спричиняють це частіше, ніж iCloud, зазвичай після зміни пароля, відкликаного входу або через групу чи картку, яку сервер відхиляє. Тисячі дублікатів карток, часто через той самий обліковий запис, доданий двічі, так само тримають його зайнятим.
Як його заспокоїти
Почніть із пошуку облікового запису. Відкрийте Системні параметри → Інтернет-записи й пошукайте той, що просить увійти знову, потім відкрийте «Контакти» й перевірте, чи немає попередження біля облікових записів на бічній панелі. Якщо проблема в одному обліковому записі, вимкніть для нього «Контакти», зачекайте хвилину й увімкніть знову. Тоді contactsd відкине локальну копію цього облікового запису й завантажить її знову.
Якщо не вдається визначити, який це обліковий запис, вимкніть «Контакти» для всіх облікових записів, крім iCloud, подивіться, чи заспокоїться contactsd, і вмикайте інші по одному. Завершення contactsd у Моніторі активності допомагає лише на мить: macOS одразу запускає його знову, і той самий обліковий запис невдовзі знову його розкручує.
Як зрозуміти, чи contactsd застряг
Синхронізація, яка працює, поступово затихає. Синхронізація, що зациклилася, виглядає однаково кожні кілька хвилин. Монітор активності й Термінал покажуть, який у вас випадок.
- Відкрийте Монітор активності, перейдіть на вкладку «Центральний процесор» і введіть
contactsу поле пошуку. Ви побачите contactsd і часто AddressBookSourceSync — помічника, що звʼязується із сервером кожного облікового запису. - Кілька хвилин стежте за «% процесора». Значення, що падає до нуля, — це синхронізація, яка завершується. Значення, що тримається високим або зростає й спадає в рівному ритмі, — це цикл.
- Перейдіть на вкладку «Мережа». У разі циклу AddressBookSourceSync зазвичай раз у раз надсилає й отримує невеликі обсяги даних, а не одне велике завантаження.
- Щоб дізнатися подробиці, відкрийте Термінал і виконайте
log stream --predicate 'process == "contactsd"'. Повторювані помилки з тим самим обліковим записом чи сервером вказують, який обліковий запис потрібно виправити. Натисніть Control-C, щоб зупинити.
Нормальна робота contactsd чи проблема
Нормально: contactsd майже не навантажує систему, на мить прокидається, коли Пошта чи Повідомлення шукають імʼя, і працює кілька хвилин після додавання облікового запису або імпорту карток. Після оновлення macOS він може бути зайнятий довше, поки переводить базу даних у новий формат.
Варто розібратися: він залишається зайнятим годинами, вентилятори вмикаються, коли ви нічого не робите, або в Контактах ті самі люди показуються двічі чи тричі. Ось звичні причини:
- Обліковий запис, у який потрібно знову ввійти після зміни пароля або відкликання пароля програми.
- Той самий обліковий запис Google чи Exchange, доданий двічі: один раз в Інтернет-записах і ще раз через програму.
- Тисячі дублікатів карток після давнього імпорту. У Контактах виберіть «Картка» → «Шукати дублікати», щоб обʼєднати їх.
- Робочий обліковий запис, сервер якого обмежує частоту синхронізації, тож кожну спробу відхиляють, і вона повторюється.
Де contactsd зберігає ваші контакти
База даних міститься в папці «Бібліотека» вашого користувача, у ~/Library/Application Support/AddressBook, з окремою папкою для кожного облікового запису в Sources. Не видаляйте й не редагуйте її вручну, щоб виправити проблему із синхронізацією: якщо вимкнути й знову ввімкнути Контакти для облікового запису в Інтернет-записах, копію цього облікового запису буде безпечно перебудовано, а контакти, що зберігаються лише на вашому Mac, залишаться без змін.
Перед будь-якою серйознішою зміною експортуйте резервну копію з Контактів через «Файл» → «Експортувати» → «Архів Контактів». Так усі картки з усіх облікових записів зберігаються в одному файлі, який можна імпортувати пізніше.
Що питають люди
Що таке contactsd на Mac?
Процес macOS, який керує вашими контактами: зберігає базу даних «Контактів», відповідає програмам, що шукають людей, і синхронізує контакти з iCloud, Google, Exchange та іншими обліковими записами.
Чому contactsd сильно навантажує процесор?
Ненадовго — бо він синхронізує чи індексує дані після додавання облікового запису, імпорту або оновлення macOS. Годинами — бо обліковий запис дає збій і пробує знову або адресна книга повна дублікатів.
Чи є contactsd вірусом?
Ні. Він є частиною macOS і запускається launchd під вашим обліковим записом користувача. Видалити його не можна, і в цьому немає потреби.
Що таке AddressBookSourceSync?
Помічник, яким contactsd синхронізує кожен обліковий запис контактів із його сервером. Якщо він зайнятий разом із contactsd, синхронізується один із ваших облікових записів, а цикл між ними зазвичай вказує на один конкретний обліковий запис.
Чи видалить вимкнення Контактів для облікового запису мої контакти?
Буде видалено копію цього облікового запису з вашого Mac, а не із сервера. Увімкніть його знову — і контакти завантажаться ще раз. Контактів, що зберігаються лише «На моєму Mac», це не стосується.
Повʼязане
Шукаєте щось краще за Монітор активності? Дивіться найкращі альтернативи Монітору активності для Mac або перегляньте усі терміни глосарію.