¿Por qué el shell (nuevo terminal, nuevos paneles/ventanas tmux) tarda en cargarse?

¿Por qué el shell (nuevo terminal, nuevos paneles/ventanas tmux) tarda en cargarse?

Cuando abro una nueva terminal, el shell tarda un par de segundos en cargarse; cuando abro un nuevo panel o ventana en tmux, puede que incluso tarde un segundo más. El retraso es de unos 3 segundos.

Estoy usando zsh con oh-my-zsh y los complementos ohmyzsh: git, vi-mode, historial-subcadena-búsqueda.

Mi camino se parece a:

/home/alec/.nvm/versions/node/v14.6.0/bin:/home/alec/.composer/vendor/bin:/home/alec/.local/bin:/usr/local/sbin:/usr/ local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/alec/code/bin

Anteriormente me preguntaba si tener un repositorio de git en la ruta sería problemático. La ubicación final en esa ruta ~/code/binsolía ser ~/biny dentro estaba la .gitbase de datos. Ahora el .gitdirectorio está dentro ~/code(lo que me parece que evitaría que el shell busque ejecutables) pero esto no ha generado ninguna mejora de rendimiento.

No conozco ninguna otra posibilidad de adivinar y verificar, ni ningún procedimiento lógico de solución de problemas para realizar/investigar.

¿Alguna sugerencia?

Respuesta1

Agregue: set -xen la parte superior e set +xinferior de ~.zshrcpara obtener una gran cantidad de resultados sobre lo que se ejecuta durante el inicio del shell. (Es útil mantener ese archivo abierto en una ventana/terminal/editor separado durante todo el proceso de depuración)

Puede ser difícil saber qué es correcto y qué es problemático entre todos esos resultados... pero si notas algo que reconoces, ese es un buen lugar para comenzar. En mi caso, había muchas líneas sobre nvmel "administrador de versiones de nodos". ¡Deshabilitar las nvmlíneas en mi .zshrcarchivo elimina dos segundos desde el inicio del shell!

Para usarlo nvmsin la carga de rendimiento,https://www.ioannispoulakas.com/2020/02/22/how-to-speed-up-shell-load- while-using-nvm/sugiere un par de posibles soluciones.

información relacionada