¿Qué es “secd”?

14

Me pregunto qué hará secd process bajo OSX Yosemite. Estoy bastante seguro de que he visto este proceso ejecutándose en versiones anteriores de MacOS, pero no recuerdo que haya engullido toda la memoria disponible tan audazmente ...

Tengo tres computadoras que ejecutan Yosemite, cada una con una configuración diferente. Los tres han estado en funcionamiento por una duración de tres días a una semana. Aquí hay un resumen de lo que secd ha logrado:

  • En MacBookAir 2011 con 4 GB de memoria, 700 MB asignados a secd
  • En iMac 2008 con 6 GB de memoria, 2 GB asignados a secd
  • En el iMac 2011 con 12 GB de memoria, 4 GB asignados a secd

En las tres computadoras, secd es el proceso más grande en la memoria (más grande que kernel task ) y sospecho que juega un papel en la desaceleración que experimenté recientemente con la llegada de Yosemite. Estoy seguro de que el proceso se expande en la memoria a tamaños excesivos y libera la memoria cuando la necesito en otro lugar. El único problema es que no es tan rápido para liberar memoria y la mayoría de las veces el rendimiento sufre antes de que el proceso se dé cuenta de que tiene que retirarse.

Mi búsqueda en la web no llegó a una conclusión sólida en cuanto a lo que es el proceso y por qué debería ser tan grande. Supongo que no soy el único que experimenta esto. Cualquier consejo es apreciado.

Como se sugiere a continuación, secd tiene que ver con el llavero de Apple. Estos son los archivos y puertos que el proceso mantiene abierto cuando está activo (en 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

Lo que no está claro es qué hace el proceso con toda la memoria que ocupa y por qué se infla tanto.

    
pregunta retrography 07.12.2014 - 22:01

4 respuestas

17

Si no es aparente, esto es solo una conjetura. Pero espero que te dé algunas pistas.

Primero, esto es lo que puedes averiguar solo a partir del nombre del programa. Si ejecuta el comando /bin/ls /usr/libexec | sort -f | egrep '.*d$' (esto imprime todos los archivos en /usr/libexec que terminan en d ), encontrará ftpd , hidd , networkd , systemstatsd , y muchos programas que terminan en codigo%. La "d" significa "demonio", que básicamente significa un proceso auxiliar que siempre se ejecuta en segundo plano. El d muy probablemente significa "seguridad". Entonces sec es el "demonio de seguridad". Lo que tiene sentido porque dijiste que parece que funciona con cosas de llavero.

¿Cuál es el punto de los demonios? Algunos demonios siguen corriendo para hacer alguna tarea continua. secd ("demonio de dispositivo de interfaz humana"), por ejemplo, es el proceso responsable de manejar la entrada del mouse / teclado / trackpad. Algunos otros demonios hacen algunas tareas comunes que muchos otros programas necesitan. Las aplicaciones simplemente pueden decirle al demonio que haga algo en lugar de tener un código para hacerlo ellos mismos. Entonces hidd probablemente haga algo como esto, pero relacionado con el llavero.

¿Pero qué exactamente? Parece que en realidad no maneja el uso normal del llavero, ya que todavía pude usar el llavero después de que deshabilité el secd LaunchAgent.

La inspección de LaunchAgent nos da una pista:

¿Parece que secd es responsable de sincronizar el llavero con iCloud?

Entonces, ¿qué debes hacer? Prueba uno o más de estos:

  1. Si no necesita la sincronización del llavero de iCloud, desactívelo en las preferencias de iCloud.
  2. Use secd para deshabilitar secd si no parece afectar negativamente a nada.
  3. Si necesita sincronización de llavero de iCloud, vea si tiene un montón de elementos de llavero y elimine los que no necesita.
  4. Tal vez reconstruya su llavero (cree un nuevo llavero, mueva los elementos que necesita hacia él y muévalo sobre el anterior), en caso de que queden artefactos innecesarios en el viejo llavero.
respondido por el interestinglythere 07.12.2014 - 23:39
5

El programa / usr / libexec / secd se envía como parte de OS X y es un proceso de seguridad normal. La documentación dice que se relaciona con "políticas de seguridad de tiempo de ejecución para procesos". Puede inspeccionar los procesos asociados con este comando: ps -ef|grep sec[iud]

En mi Mac, soy el usuario 501, así que tienes esta salida para un usuario que ha iniciado sesión:

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

Puede ver que securityd se inicia como proceso raíz (PID 58) y luego como proceso de usuario (PID 205) cuando inicia sesión. El% real secd lleva a cabo el "trabajo" y puede reaparecer incluso cuando no se desconecta y se inicia. Para descifrar por qué el suyo está usando recursos adicionales, será bastante difícil sin excavar en fsusage y algunos otros comandos para echar un vistazo ejecutando procesos así como revisando sus archivos de registro. Su mejor opción sería presentar un error en Apple y luego documentar cómo puede hacer que se comporte mal, especialmente si puede reproducirlo después de un reinicio.

Actualmente no hay una "página de manual" para secd y la de secinitd es, en el mejor de los casos, exigua. Archivar los errores de documentación contra Apple es una forma de pedir que se solucione la falta de documentación.

    
respondido por el bmike 11.12.2014 - 22:16
3

Por lo que sé sobre ese proceso (que en realidad no es una tonelada) es que tiene algo que ver con el llavero de la Mac. Lo que puede hacer es encontrarlo en el Monitor de actividad y hacer clic en Cmd + I para obtener la información al respecto.

Un consejo que puedes intentar es ejecutar Keychain First Aid en Keychain Access en Spotlight, abrir el menú "Keychain Access" y seleccionar la opción "Keychain First Aid" desde allí y seguir las instrucciones.

Espero que la punta funcione!

    
respondido por el jaller200 07.12.2014 - 22:25
0

Comience a activar la sincronización de iCloud de llavero, pero cancele en otra ventana de diálogo.

fuente: enlace

    
respondido por el Nakilon 21.02.2017 - 17:56

Lea otras preguntas en las etiquetas