![셸(새 터미널, 새 tmux 창/창)이 느리게 로드되는 이유는 무엇입니까?](https://linux55.com/image/191958/%EC%85%B8(%EC%83%88%20%ED%84%B0%EB%AF%B8%EB%84%90%2C%20%EC%83%88%20tmux%20%EC%B0%BD%2F%EC%B0%BD)%EC%9D%B4%20%EB%8A%90%EB%A6%AC%EA%B2%8C%20%EB%A1%9C%EB%93%9C%EB%90%98%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
새 터미널을 열면 셸이 로드되는 데 몇 초가 걸리고, 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/몇 가지 가능한 솔루션이 제안됩니다.