27 votos

¿Qué es el proceso "secd" en OSX

Me pregunto qué secd proceso lo hace bajo OSX Yosemite. Estoy bastante seguro de haber visto este proceso funcionando en versiones anteriores de MacOS, pero no recuerdo que haya engullido toda la memoria disponible tan audazmente...

Tengo tres computadoras corriendo Yosemite, cada una con una configuración diferente. Las tres han estado funcionando durante una duración de tres días a una semana. Aquí hay un resumen de lo que secd ha logrado:

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

En los tres ordenadores 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 he experimentado recientemente con la llegada de Yosemite. Sé con seguridad que el proceso se expande en la memoria a tamaños desmesurados y libera la memoria cuando la necesito en otro lugar. El único problema es que no es tan rápido en la liberación de la memoria y la mayoría de las veces el rendimiento sufre antes de que el proceso se dé cuenta de que tiene que retroceder.

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

Como se sugiere a continuación secd tiene que ver con el Llavero de Apple. Aquí están los archivos y puertos que el proceso mantiene abiertos 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 lo que el proceso hace a toda la memoria que ocupa, y por qué se infla tanto.

2 votos

Tu memoria es correcta. secd corre en los Mavericks. En un análisis rápido, este demonio no está documentado, esto es malo, esto podría ser un pedazo de crapware. Este demonio está en /usr/libexec/secd .

0 votos

@danielAzuelos ¿Muestra el mismo comportamiento cancerígeno en Mavericks?

0 votos

@danielAzuelos Los Mac OS no suelen tener mucho "crapware", y yo te aconsejaría que no sacaras esa conclusión. Por cierto, todo en /System parte del sistema operativo originalmente instalado, no añadido por ningún programa.

21voto

skerit Puntos 448

Si no es aparente, esto es sólo una suposición. Pero con suerte te dará algunas pistas.

Primero, esto es lo que se puede deducir del nombre del programa. Si ejecutas el comando /bin/ls /usr/libexec | sort -f | egrep '.*d$' (esto imprime todos los archivos en /usr/libexec terminando en d ), encontrarás ftpd , hidd , networkd , systemstatsd y un montón de programas que terminan en d . La "d" significa "demonio", que básicamente significa un proceso de ayuda que siempre se ejecuta en segundo plano. El sec muy probablemente significa "seguridad". Así que secd es el "demonio de la seguridad". Lo que tiene sentido porque dijiste que parece que funciona con los llaveros.

¿Qué sentido tienen los demonios? Algunos demonios se quedan corriendo para hacer alguna tarea en curso. hidd ("demonio de dispositivo de interfaz humana"), por ejemplo, es el proceso responsable de manejar la entrada de ratón/teclado/pista. Algunos otros daemons hacen algunas tareas comunes que muchos otros programas necesitan. Las aplicaciones pueden simplemente decirle al demonio que haga algo en lugar de tener código para hacerlo ellas mismas. Así que secd probablemente hace algo como esto, pero relacionado con el llavero.

¿Pero qué exactamente? Parece que no puede manejar el uso normal del llavero, ya que todavía podía usar el llavero después de desactivar el secd Agente de Lanzamiento.

Inspeccionar el Agente de Lanzamiento nos da una pista:

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

Entonces, ¿qué deberías hacer? Pruebe uno o más de estos:

  1. Si no necesitas la sincronización del llavero de iCloud, apágalo en las preferencias de iCloud.
  2. Utilice launchctl para deshabilitar la SEGD si no parece que afecte negativamente a nada.
  3. Si necesitas la sincronización del llavero de iCloud, mira si tienes una tonelada de elementos de llavero, y elimina los que no necesitas.
  4. Tal vez reconstruya su llavero (haga un nuevo llavero, ponga en él los objetos que necesite y muévalo sobre el antiguo), en caso de que queden artefactos innecesarios en el llavero antiguo.

0 votos

Es un detalle impresionante. El paso 2 debería tener un asterisco: anota que lo has desactivado, ya que Apple suele añadir alguna función nueva y tu Mac se estropeará cuando eso ocurra, así que recuerda volver a activarlo de vez en cuando y revisar la decisión de desactivar un demonio del sistema.

0 votos

De nuevo - fantástica respuesta que explica cómo hacer ingeniería inversa a cualquier demonio y no sólo a éste que no está bien documentado.

5voto

Oskar Puntos 1242

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 en tiempo de ejecución para los procesos". Puedes 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 conectado:

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

Puedes ver que secinitd se inicia como root (PID 58) y luego como usuario (PID 205) proceso cuando te conectas. El actual send lleva a cabo el "trabajo" y puede volver a aparecer incluso cuando no se cierra la sesión y se entra. En cuanto a descifrar por qué el tuyo está usando recursos extra, será bastante difícil sin indagar en fsusage y algunos otros comandos para echar un vistazo a los procesos en ejecución, así como a los archivos de registro. Lo mejor sería presentar un error en Apple y luego documentar cómo puedes hacer que se comporte mal, especialmente si puedes reproducirlo después de un reinicio.

No hay actualmente una "página de hombre" para la SEGUNDA y la de la SEGUNDA es escasa en el mejor de los casos. Presentar errores de documentación contra Apple es una forma de pedir que la falta de documentación sea remediada.

3voto

yaanno Puntos 221

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

Un consejo que puedes intentar hacer es ejecutar los Primeros Auxilios para Llaveros yendo a "Acceso a Llaveros" en Spotlight, abriendo el menú "Acceso a Llaveros" y seleccionando la opción "Primeros Auxilios para Llaveros" desde allí y seguir las instrucciones.

¡Espero que ese consejo funcione!

0 votos

El llavero de primeros auxilios dice que mi llavero está bien. En los tres ordenadores.

0 votos

Hay una opción en El Capitán (al menos, puede estar allí en las versiones anteriores también) en Acceso a Llaveros - Preferencias para Restablecer Mi Llavero por Defecto "Revierte a los valores predeterminados de fábrica y crea un nuevo llavero de "inicio de sesión" vacío. Su actual llavero por defecto se moverá a un lado, pero no se borrará". Tan pronto como hice esto el securityd_service pasó de 51-53% de CPU a 0-1,5%. Tan pronto como lo haces se te pide que vuelvas a iniciar sesión en iCloud - todavía no he descubierto otras ramificaciones.

1 votos

Acabo de actualizar de Mavericks a Sierra y descubrí que la CPU de secd pasó a estar cerca del 100% después de restablecer el llavero como sugeriste. Perdí todas mis contraseñas de sitios web guardadas, tuve que volver a iniciar sesión en mi sincronización de calendario, etc., pero al menos puedo usar el ordenador de nuevo. Gracias.

1voto

thruflo Puntos 383

Esto es lo que tengo en el mío. iMac con 32 GB de memoria, OS X Yosemite 10.10.2

enter image description here

0voto

Nakilon Puntos 155

Comienza a activar la sincronización del llavero con iCloud pero cancela en otra ventana de diálogo.

fuente: https://www.reddit.com/r/hackintosh/comments/54gpmo/process_secd_always_at_95100_cpu_usage_sierra/d88v542/

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X