Що таке процес "secd"?


19

Цікаво, який secdпроцес працює під OSX Yosemite. Я впевнений, що бачив цей процес у більш ранніх версіях MacOS, але не пам'ятаю, щоб він так сміливо збивав всю наявну пам'ять ...

У мене є три комп'ютери під керуванням Yosemite, кожен з яких має іншу конфігурацію. Усі троє були тривалістю від трьох днів до одного тижня. Ось збірка secdдосягнутого:

  • На MacBookAir 2011 з 4 Гб оперативної пам’яті виділено 700 Мб secd
  • На iMac 2008 з 6 Гб оперативної пам’яті, 2 Гб виділено secd
  • На iMac 2011 з 12 Гб пам'яті, 4 Гб, виділених на secd

На всіх трьох комп’ютерах secdце найбільший процес в пам'яті (більший за kernel task), і я підозрюю, що він відіграє певну роль в уповільненні, яке я нещодавно пережив з приходом Yosemite. Я точно знаю, що процес розширюється в пам'яті на непомірні розміри і звільняє пам'ять, коли мені це потрібно десь в іншому місці. Єдине питання полягає в тому, що він не так швидко звільняє пам'ять, і більша частина часу страждає, перш ніж процес усвідомлює, що йому доведеться відступити.

Мій пошук в Інтернеті не прийшов до надійного висновку щодо того, що таке процес, і чому він повинен бути таким величезним. Я думаю, я не єдиний, хто переживає це. Будь-яка порада цінується.

Як запропоновано нижче, secdце стосується брелока Apple. Ось файли та порти, які процес залишається відкритим під час активності (на MacBookAir):

/
/usr/libexec/secd
/Users/.../Library/Keychains/7285EFCF-9AF6-53DD-BE44-DA1F59F96620/keychain-2.db-shm
/usr/share/icu/icudt53l.dat
/usr/lib/dyld
/private/var/run/diagnosticd/dyld_shared_cache_x86_64
/dev/null
/dev/null
/dev/null
count=2, state=0x2
/Users/.../Library/Keychains/7285EFCF-9AF6-53DD-BE44-DA1F59F96620/keychain-2.db
/Users/.../Library/Keychains/7285EFCF-9AF6-53DD-BE44-DA1F59F96620/keychain-2.db-wal
/Users/.../Library/Keychains/7285EFCF-9AF6-53DD-BE44-DA1F59F96620/keychain-2.db-shm
/Users/.../Library/Keychains/7285EFCF-9AF6-53DD-BE44-DA1F59F96620/keychain-2.db
/Users/.../Library/Keychains/7285EFCF-9AF6-53DD-BE44-DA1F59F96620/keychain-2.db-wal
/dev/random
/dev/random
/private/var/folders/z_/806bzc396cxgp4s0q17tpfwc0000gn/T/etilqs_y5BDgkbGkBV9ybF
/private/var/folders/z_/806bzc396cxgp4s0q17tpfwc0000gn/T/etilqs_Aw6Q7JhPlil3QNX
/Users/.../Library/Keychains/7285EFCF-9AF6-53DD-BE44-DA1F59F96620/keychain-2.db
/Users/.../Library/Keychains/7285EFCF-9AF6-53DD-BE44-DA1F59F96620/keychain-2.db-wal

Незрозуміло, що цей процес робить для всієї пам'яті, яку він займає, і чому він настільки сильно роздувається.


2
Ваша пам'ять правильна. secdпрацює на Мавериках. При швидкому аналізі цей демон не задокументований, це погано, це може бути шматок програмного забезпечення. Цей демон у /usr/libexec/secd.
дан

@danielAzuelos Чи проявляється така ж ракова поведінка на Mavericks?
ретрографія

2
Відповідно до Plist, secd використовується для управління хмарним брелоком, а не локальним.
Рускес

2
Щойно виявлено: Без secdзапуску, Messages щоразу просить мене ввести пароль.
цікаво, що там

1
→ Мах: у Maveriskc secdмає VSZ = 2,4 ГБ та RSS = 3 Мб. secdпрацював протягом 84 с у системі, яка працює та працює з 5 днів.
дан

Відповіді:


20

Якщо це не видно, це лише здогадки. Але, сподіваємось, це дає вам певні результати.

По-перше, ось що ви можете зрозуміти лише з назви програми. Якщо виконати команду /bin/ls /usr/libexec | sort -f | egrep '.*d$'(це надрукувати всі файли , /usr/libexecщо закінчуються на d), ви виявите ftpd, hidd, networkd, systemstatsd, і багато програм , що закінчуються d. "D" означає "демон", що в основному означає хелперний процес, який завжди працює у фоновому режимі. Сама secймовірність означає "безпеку". Так secdсамо і "демон безпеки". Що має сенс, тому що ви сказали, що це схоже на те, що це працює з брелоками.

У чому сенс демонів? Деякі демони продовжують працювати, або виконувати якісь поточні завдання. hidd("демон людського інтерфейсного пристрою"), наприклад, це процес, відповідальний за введення миші / клавіатури / трекпад. Деякі інші демони виконують деякі загальні завдання, які потребують багато інших програм. Програми можуть просто сказати демону щось зробити замість коду, щоб зробити це самостійно. Тому, secdймовірно, робить щось подібне, але пов'язане з брелоком.

Але що саме? Схоже, він насправді не справляється з нормальним використанням брелка, оскільки я все-таки зміг користуватися secdбрелоком після відключення LaunchAgent.

Огляд LaunchAgent дає нам поняття:

Схоже, secd відповідає за синхронізацію брелка з iCloud?

То що ж робити? Спробуйте один або декілька з них:

  1. Якщо синхронізація брелоків iCloud вам не потрібна, вимкніть її в налаштуваннях iCloud.
  2. Використовуйте launchctlдля відключення secd, якщо це, здається, не впливає ні на що.
  3. Якщо вам потрібна синхронізація брелоків iCloud, перевірте, чи є у вас тонна брелок, і вийміть ті, які вам не потрібні.
  4. Можливо, відновіть брелок (створіть новий брелок, перемістіть у ньому потрібні предмети та перемістіть його по старшій), якщо у старому брелоку залишилися зайві артефакти.

Це дивовижна деталь. У кроці 2 має бути зірочка - зауважте, що ви відключили це, оскільки Apple зазвичай додає до цього якусь нову функцію, і ваш Mac порушиться, коли це станеться, тому не забудьте час від часу включати його та переглядати рішення про відключення системний демон.
bmike

Знову ж таки - фантастична відповідь, яка пояснює, як повернути інженеру будь-якого демона, а не лише цього, що не зафіксовано добре.
bmike

5

Програма / usr / libexec / secd поставляється як частина OS X і є нормальним процесом безпеки. У документації йдеться, що вона стосується "політики безпеки під час виконання процесів". Ви можете перевірити пов'язані процеси за допомогою цієї команди:ps -ef|grep sec[iud]

На моєму Mac я користувач 501, щоб у вас був цей вихід для одного користувача, який увійшов:

Mac:~ bmike$ ps -ef|grep sec[iud]
    0    58     1   0 Sat12PM ??         0:56.51 /usr/sbin/securityd -i
    0   117     1   0 Sat12PM ??         0:00.15 /usr/libexec/secinitd
    0   171     1   0 Sat12PM ??         0:02.24 /usr/libexec/securityd_service
  501   205     1   0 Sat12PM ??         0:11.74 /usr/libexec/secinitd
  501  2634     1   0 Tue08PM ??         0:08.26 /usr/libexec/secd

Ви можете бачити, що securitydвін починається як root (PID 58), а потім як користувальницький (PID 205) процес, коли ви входите в систему. Фактичне secdвиконує "роботу" і може отримати повторне оновлення навіть тоді, коли ви не виходите з системи та не входите. щоб розшифрувати, чому ваш використовує додаткові ресурси, буде досить важко, не заглиблюючись у fsusageдеякі інші команди, зазирнути до запущених процесів, а також переглядати ваші файли журналів. Вашим найкращим вибором буде подати помилку в Apple, а потім задокументувати, як можна змусити її погано поводитись, особливо якщо ви зможете відтворити її після перезавантаження.

Наразі не існує "чоловічої сторінки", secdі ця, secinitdв найкращому випадку, мізерна. Подання помилок у документації проти Apple - це один із способів попросити усунути відсутність документації.


3

З того, що я знаю про цей процес (який насправді не є тоном), це те, що він має щось спільне з брелоком Mac. Що ви можете зробити, це знайти в Моніторі діяльності та натисніть Cmd + I, щоб отримати інформацію про нього.

Один із підказок, який ви можете спробувати, - це запустити першу допомогу брелка, перейшовши на доступ до брелка в центрі уваги, відкривши меню «Доступ до брелка» та вибравши звідти варіант «Перша допомога брелка» та виконайте вказівки.

Сподіваюся, що порада спрацює!


Перша допомога брелка каже, що мій брелок добре! На всіх трьох комп’ютерах.
ретрографія

У El Capitan є варіант (принаймні, він може бути і в попередніх версіях) в розділі Keychain Access - Налаштування для скидання моєї замовчувальної приналежності ". відсунути вбік, але не видалити ". Як тільки я це зробив, securityd_service перейшов з 51-53% CPU до 0-1,5%. Як тільки ви зробите це, вам потрібно буде повторно ввійти в iCloud - я ще не виявив інших наслідків.
Оскар Аустегард

1
Я щойно перейшов з Mavericks до Сьєрра і виявив, що після скидання брелка, як ви запропонували, вторинний процесор досяг майже 100%. Втратив усі збережені паролі веб-сайту, довелося повторно увійти в систему синхронізації календаря тощо, але принаймні я можу знову використовувати комп’ютер. Спасибі.
Вальтер Ніссен

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.