為什麼 shell(新終端、新 tmux 窗格/視窗)載入緩慢?

為什麼 shell(新終端、新 tmux 窗格/視窗)載入緩慢?

當我打開新終端時,載入 shell 需要幾秒鐘,當我在 tmux 中開啟新窗格或視窗時,甚至可能需要更長的時間。延遲大約3秒。

我將 zsh 與 oh-my-zsh 和 ohmyzsh 插件一起使用:git、vi-mode、history-substring-search。

我的路徑看起來像:

/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(在我看來,這會阻止 shell 查找可執行檔),但這並沒有帶來任何效能改進。

我不知道任何其他猜測和檢查的可能性,也不知道任何要執行/調查的邏輯故障排除程序。

有什麼建議麼?

答案1

新增:set -x到頂部和set +x底部~.zshrc以獲得有關 shell 啟動期間正在運行的內容的大量輸出。 (在整個調試過程中保持該文件在單獨的視窗/終端機/編輯器中打開是有幫助的)

可能很難知道所有輸出中什麼是正確的,什麼是有問題的......但是如果您注意到您認識的某些內容,那麼這是一個很好的起點。就我而言,有很多行關於nvm“節點版本管理器”。停用nvm我的檔案中的行.zshrc可以縮短 shell 啟動的兩秒時間!

nvm要在沒有性能負擔的情況下使用,https://www.ioannispoulakas.com/2020/02/22/how-to-speed-up-shell-load-while-using-nvm/提出了一些可能的解決方案。

相關內容