profile image

L o a d i n g . . .

728x90

최근에 생산성 향상에 도움 되는 툴을 이것저것 만지면서 익숙해지고 있는 와중에 사용 중인 zsh 터미널이 느려지는 게 체감되기 시작했습니다. 작업을 하는 도중 "터미널을 켜야겠네"라는 생각이 들면 무의식적으로 귀찮다는 생각이 들 정도였기에, 이는 해결해야 하는 문제가 됐음이 분명했습니다. 터미널 속도를 향상하는 방법과 관련하여 훌륭한 포스팅을 찾았고, 해당 포스팅의 내용을 적용해서 터미널 로딩 속도를 개선했던 과정을 공유드리고자 포스팅을 작성합니다. 

 

느린 지점 파악하기 

zsh는 plugin을 설치함으로써 다양한 기능을 활용할 수 있습니다. 초기에 의심했던 부분은 설치된 plugin을 로드하는 부분에서 느리지 않을까 하는 생각이었습니다. 그래서 각각의 plugin을 로드하는 시간을 확인하기 위해 "~/. oh-my-zsh/oh-my-zsh.sh"에 아래와 같이 코드를 추가하였습니다.

플러그인 로딩 속도 측정을 위해 코드 추가

 

위와 같이 코드를 추가하고 터미널을 실행하면 아래와 같이 각 플러그인을 로드하는 데 걸린 시간을 확인할 수 있습니다. 

 

결과를 보시면 아시겠지만, plugin을 로딩하는 데 소요되는 시간은 매우 짧기 때문에 plugin이 문제가 아닌 것 같았습니다. 다음 의심할 수 있는 부분은 무엇일지 고민해 보았습니다. Zsh 로딩 성능을 개선하기 위해 nvm을 삭제하는 것이 도움이 된다는 의견을 많이 찾을 수 있었는데, 그 이유는 nvm을 사용하지 않는 경우에도 eager load 방법을 활용하기 때문이라고 설명하고 있습니다. 이 문제를 해결하기 위해 저는 nvm을 삭제하고 nvm과 기능이 동일하지만 더 빠른 fnm을 설치했습니다.

 

GitHub - Schniz/fnm: 🚀 Fast and simple Node.js version manager, built in Rust

🚀 Fast and simple Node.js version manager, built in Rust - Schniz/fnm

github.com

 

결론

nvm을 삭제하고 fnm을 설치한 결과, 터미널의 로딩 속도가 명확히 개선되었습니다. 로딩 시간이 2초에서 0.1초로 단축된 것뿐이지만, "터미널을 열 때 느리고 귀찮다..."는 생각을 없앨 수 있다는 점에서 이 작업은 꼭 필요한 조치였습니다. 생산성 향상은 이와 같은 작은 변경들이 모이면 일어나기 때문에 여러분의 터미널이 느려진다면 위와 같이 개선을 고려해 보시는 게 어떨까요?

728x90
복사했습니다!