当我打开一个新的终端时,加载shell需要几秒钟,当我在tmux中打开一个新的窗格或窗口时,它甚至可能需要更长的时间。延迟大约3秒。
我使用zsh和ohmyzsh插件: git,vi-模式,历史子字符串搜索。
我的路看起来是:
/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
在此之前,我曾想过,在路上进行一次git回购会不会有问题。该路径~/code/bin
中的最后位置以前是~/bin
,其中有.git
数据库。现在,.git
目录位于~/code
中(在我看来,它会阻止shell查看它的可执行文件),但这并没有提供任何性能改进。
我不知道任何其他猜测和检查的可能性,也不知道执行/调查的任何逻辑故障排除过程。
有什么建议吗?
发布于 2021-06-01 17:22:18
添加:set -x
位于顶部,set +x
位于~.zshrc
的底部,以获得大量关于shell启动期间运行的输出。(在整个调试过程中,将该文件保存在单独的窗口/终端/编辑器中是有帮助的)
在所有的输出中,很难知道什么是正确的,什么是有问题的.但如果你注意到一些你认识的东西,那是个很好的开始。在我的例子中,有许多关于“节点版本管理器”nvm
的行。禁用我的nvm
文件中的.zshrc
行可以从D5
启动中删除2秒!
为了在不增加性能负担的情况下使用nvm
,https://www.ioannispoulakas.com/2020/02/22/how-to-speed-up-shell-load-while-using-nvm/提出了几种可能的解决方案。
https://unix.stackexchange.com/questions/652357
复制相似问题