셸(새 터미널, 새 tmux 창/창)이 느리게 로드되는 이유는 무엇입니까?

셸(새 터미널, 새 tmux 창/창)이 느리게 로드되는 이유는 무엇입니까?

새 터미널을 열면 셸이 로드되는 데 몇 초가 걸리고, tmux에서 새 창이나 창을 열면 더 오랜 시간이 걸릴 수도 있습니다. 지연 시간은 약 3초입니다.

저는 oh-my-zsh 및 ohmyzsh 플러그인(git, vi-mode, History-substring-search)과 함께 zsh를 사용합니다.

내 경로는 다음과 같습니다

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

이전에는 경로에 git repo가 ​​있으면 문제가 발생하는지 궁금했습니다. 해당 경로의 최종 위치는 ~/code/bin데이터베이스였으며 ~/bin그 안에 데이터베이스가 있었습니다. .git이제 .git디렉토리가 존재하지만 ~/code(제 생각에는 쉘이 실행 파일을 찾는 것을 방지합니다) 이로 인해 성능이 향상되지는 않습니다.

나는 추측하고 확인할 수 있는 다른 가능성이나 수행/조사할 논리적인 문제 해결 절차를 알지 못합니다.

어떤 제안이 있으십니까?

답변1

추가됨: 쉘 시작 중에 실행 중인 항목에 대한 많은 출력을 얻기 위해 set -x상단과 set +x하단에 . ~.zshrc(디버깅 프로세스 전반에 걸쳐 이 파일을 별도의 창/터미널/편집기에서 열어 두는 것이 도움이 됩니다)

모든 출력에서 ​​무엇이 옳고 무엇이 문제인지 알기 어려울 수 있습니다. 그러나 인식할 수 있는 내용이 발견되면 시작하는 것이 좋습니다. 제 경우에는 nvm"노드 버전 관리자" 에 대한 대사가 많았습니다 . nvm내 파일의 해당 줄을 비활성화하면 .zshrc셸 시작 시간이 2초 단축되었습니다!

nvm성능 부담 없이 사용하실 수 있도록,https://www.ioannispoulakas.com/2020/02/22/how-to-speed-up-shell-load-while-using-nvm/몇 가지 가능한 솔루션이 제안됩니다.

관련 정보