OK tengo una conclusión similar a Darren, aunque ligeramente diferentes perfiles de mecanismo (NB lento inicio de sesión puede ocurrir en Yosemite).
He aquí una manera de decirle lo que en realidad se ejecuta cuando se inicia una nueva ventana de inicio de sesión, utilizando el OS X de muestra del analizador de comandos.
Averiguar lo que un comando de inicio de sesión normal executs
$ ps -ef | grep login
Te seee algo como login -pfl username /bin/bash -c exec -la bash /bin/bash
Crear un script de nombre de archivo profile_login.sh
con el siguiente contenido mediante la adición de un
-c ""
al final de la descubrió comando para solicitar que bash regresar de inmediato, con contenidos como este:
login -pfl username /bin/bash -c exec -la bash /bin/bash -c "" &
sudo sample $! -mayDie # sample the above command
Hacerlo ejecutable
$ chmod u+x profile_login.sh
y ejecutarlo usando sudo (sample
comando requiere)
$ sudo ./profile_login.sh
OK, así que adelante y ejecutar. Por ejemplo, mediante la ejecución de la purge
comando en primer lugar. En mi caja, tengo una gran salida gráfica. En busca de la "más grande numeradas ramas" (normalmente en la parte superior) vi las dos siguientes más grande de los delincuentes:
Uno de algo que se llama pam_start
que aparece a la apertura de pam auth lib imágenes
+ ! 1068 pam_start (in libpam.2.dylib) + 132 [0x7fff97295ab0]
+ ! : 1066 openpam_dynamic (in libpam.2.dylib) + 120 [0x7fff97293d14]
+ ! : | + ! 1042 coresymbolication_load_image(CSCppDyldSharedMemoryPage*, ImageLoader const*, unsigned long long) (in dyld) + 143 [0x7fff66725411]
+ ! : | + ! : 1042 mach_msg_trap (in dyld) + 10 [0x7fff6674a472]
y es que, a veces, seguido por otro delincuente getlastlogxbyname
+ ! 583 getlastlogxbyname (in libsystem_c.dylib) + 212 [0x7fff92b3ef7a]
+ ! : 566 asl_file_open_read (in libsystem_asl.dylib) + 143 [0x7fff8c27030d]
+ ! : | 566 __open_nocancel (in libsystem_kernel.dylib) + 10 [0x7fff97b39012] + ! : | 566 __open_nocancel (in libsystem_kernel.dylib) + 10 [0x7fff97b39012]
Así que, básicamente, existen dos delincuentes. Una es pam
(algún tipo de sistema de autenticación) y el otro es el asl
"detectar su último inicio de sesión". Así que al parecer acaba de eliminar su /private/var/log/asl/*.asl
archivos no es suficiente. El pam de carga es mucho más caro que en mi máquina, de todos modos [SSD]. Siéntase libre de ejecutar el script de arriba y ver si su sistema es el mismo. Curiosamente, el código fuente de estas llamadas al método parece estar también disponible en línea, por ejemplo openpam_dynamic
Si sigo Darren respuesta, y sustituir a mi "conchas abrir con" preferencia a algo distinto de /bin/bash, me, a continuación, consulte las siguientes líneas se utiliza para iniciar la nueva terminal de pestañas:
$ ps -ef | grep login
... login -pfql packrd /bin/bash -c exec -la bash /usr/bin/bash
Así que si yo ahora uso el mismo sample
truco en el nuevo comando de inicio de sesión
login -pfql username /bin/bash -c exec -la bash /usr/bin/bash -c "" &
sudo sample $! -mayDie
mucho menor stacktrace se genera, el mayor delincuente de ser:
+ 8 pam_end (in libpam.2.dylib) + 190 [0x7fff97294ebb]
+ ! 6 coresymbolication_unload_image(CSCppDyldSharedMemoryPage*, ImageLoader const*) (in dyld) + 143 [0x7fff6e0f634f]
Creo que esto es debido a que el inicio de sesión "-q" parámetro se usa ahora. Al parecer, este parámetro se omite tanto la carga de los módulos pam y busca hasta el último momento de inicio de sesión (tanto los delincuentes). De acuerdo a la documentación de la login
comando, tocar la ~/.hushlogin
archivo debería hacer lo mismo, pero al parecer esto ya no funciona (al menos para mí, con 10.10].
Así que, en resumen, la eliminación /private/var/log/asl/*.asl no es suficiente (en mi experimento, sólo representaron a más de 1/3 de la actual desaceleración, aunque si tenía costumbres de archivos no se podría dar cuenta de un porcentaje mayor, estoy seguro).
De todos modos, utilizando similares secuencias de comandos, usted debe ser capaz de decir cuál es la causa de su máquina local a estancar, y ver si la revisión anterior se aplica a usted. Siéntase libre de comentar aquí.
ACTUALIZACIÓN: parece que coresymbolication_load_image
aún puede tomar un montón de tiempo, incluso cuando login -pfql
se invoca (es de suponer que algunos de autenticación pam, módulo u otro es la necesidad de "marcar" a un centro servidor de inicio de sesión o de algún extraño, así que tiene que esperar por una respuesta de un 3rd party). Así que la única verdadera solución que he encontrado es usar iTerm2, y cambiar las preferencias -> perfiles -> general -> Comando para /bin/bash
lugar.