解决zsh启动慢

简介

zsh启动慢已经不是一天两天了,最近真的受不了了,所以准备解决下这个问题

操作

首先分析下哪里加载这么慢

编辑zshrc文件

vim ~/.zshrc

首行加入

zmodload zsh/zprof

然后输入zsh,重新加载下zsh

之后输入

zprof

就会出现下面一大段

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
num  calls                time                       self            name
-----------------------------------------------------------------------------------
1) 1 1073.31 1073.31 52.32% 1073.11 1073.11 52.31% nvm_die_on_prefix
2) 2 1440.46 720.23 70.21% 229.65 114.83 11.19% nvm
3) 1 198.55 198.55 9.68% 198.55 198.55 9.68% _pyenv_virtualenv_hook
4) 1 1631.54 1631.54 79.53% 191.08 191.08 9.31% nvm_auto
5) 1 135.78 135.78 6.62% 122.46 122.46 5.97% nvm_ensure_version_installed
6) 1 67.35 67.35 3.28% 67.35 67.35 3.28% handle_completion_insecurities
7) 2 116.27 58.13 5.67% 58.88 29.44 2.87% compinit
8) 2 57.39 28.69 2.80% 57.39 28.69 2.80% compaudit
9) 1 16.88 16.88 0.82% 16.88 16.88 0.82% (anon)
10) 1 13.32 13.32 0.65% 13.32 13.32 0.65% nvm_is_version_installed
11) 1 9.71 9.71 0.47% 9.71 9.71 0.47% nvm_supports_source_options
12) 3 2.66 0.89 0.13% 2.66 0.89 0.13% up-line-or-beginning-search
13) 2 2.03 1.02 0.10% 2.03 1.02 0.10% add-zsh-hook
14) 1 2.03 2.03 0.10% 2.03 2.03 0.10% colors
15) 2 1.92 0.96 0.09% 1.92 0.96 0.09% nvm_has
16) 12 1.58 0.13 0.08% 1.58 0.13 0.08% compdef
17) 3 1.36 0.45 0.07% 1.36 0.45 0.07% is-at-least
18) 2 0.36 0.18 0.02% 0.36 0.18 0.02% title
19) 1 0.55 0.55 0.03% 0.30 0.30 0.01% omz_termsupport_preexec
20) 1 0.39 0.39 0.02% 0.20 0.20 0.01% complete
21) 1 1641.38 1641.38 80.01% 0.12 0.12 0.01% nvm_process_parameters
22) 2 0.12 0.06 0.01% 0.12 0.06 0.01% is_plugin
23) 1 0.11 0.11 0.01% 0.11 0.11 0.01% zle-line-init
24) 1 0.11 0.11 0.01% 0.11 0.11 0.01% zle-line-finish
25) 2 0.09 0.04 0.00% 0.09 0.04 0.00% bashcompinit
26) 1 0.09 0.09 0.00% 0.09 0.09 0.00% detect-clipboard
27) 2 0.05 0.03 0.00% 0.05 0.03 0.00% env_default
28) 1 0.14 0.14 0.01% 0.03 0.03 0.00% omz_termsupport_precmd
29) 1 0.02 0.02 0.00% 0.02 0.02 0.00% nvm_is_zsh

可以发现nvm和_pyenv_virtualenv_hook的启动占用了很大一部分时间,所以在zshrc里面注释掉,重启zsh发现快了一半以上

欢迎关注我的博客www.bboy.app

Have Fun

欢迎关注我的其它发布渠道