iTerm / Terminal OS X打开外壳的速度很慢


14

我正在使用OS X 10.8,最近我注意到打开新的外壳有时会使iTerm2变慢。我大约需要5秒钟才能做某事。可能看起来不多,但是我在shell中工作很多,因此可能会很烦人。

我在oh-my-zsh中使用ZSH。

我尝试过Terminal,卸载oh-my-zsh,从启动文件(.zshenv,.zlogin,.zprofile,.zshrc,.zlogout)中清除所有不必要的内容,并清除/ var / log / asl中的ASL文件,并尽管它下降了一点(例如0.20s),但是没有什么可以使它下降到相当瞬时的,甚至低于3.0s。

有人碰巧有另一个主意吗?


相关的问题:3140341743236953444614
LRI

您是否尝试过将新shell的命令更改为诸如此类login -pfq username /usr/local/bin/zsh
Lri 2012年

@ lauri-ranta:尝试了其他线程中的所有内容,但无济于事。尝试“登录-pfq用户名/ usr / local / bin / zsh”也没有执行任何操作。
Dimitri

要查看它是否与Shell或iTerm2相关:启动一个新Shell需要花费多少时间?(通过输入zsh已经打开的终端窗口)?
Matteo

添加到.zshrc[ $((RANDOM & 1)) -eq 0 ] && do not sleep 5
theoden8

Answers:


18

清除登录 /var/log/asl,即

rm -rf /var/log/asl/*.asl

1
您能否解释一下为什么此日志文件夹会降低iterm的速度,并且可以采取任何措施来真正阻止此问题的发生吗?
大卫

2
@david,您可以检查此链接以了解新选项卡运行缓慢的原因。apple.stackexchange.com/a/71930/89583
阿彻·米什拉

哇---非常感谢---对于iterm2来说,答案似乎是使用该页面底部建议的(/ bin / bash -il),该建议已被减为-1。效果很好。
大卫

12

根据上述Archan Mishra的评论,对于iTerm 2,答案是设置自定义终端命令/bin/bash -il ,该命令 绕过完全搜索系统ASL日志的操作。iterm2现在立即打开。


1

这些是我用来优化Shell启动速度并减少执行命令时的滞后的步骤-

  1. 如果您使用的是powerlevel9k,那么我建议立即切换到powerlevel10k

Powerlevel10k是Zsh的主题。它强调速度,灵活性和开箱即用的体验。它是对流行的Powerlevel9k zsh主题的重新实现。给定相同的配置,它看起来完全一样,但提示速度快10-100倍。它在堆栈的每个级别上都进行了优化,一直到使用已修补版本的libgit2来进行,扫描版本库的速度比原始版本快4倍。即使不是由具有即时提示等功能的主题引起的,它也可以消除Zsh启动延迟。

  1. 转到“首选项”->“配置文件”->“常规”->“命令”,然后选择“命令”而不是“登录外壳”选项,并将以下命令粘贴到它附近的框中。
login -pfq username /usr/local/bin/zsh -il

现在启动新标签页时,您不会看到上次登录时间的打印。如果在/ usr / local / bin / zsh位置中不存在zsh,则需要使用brew安装zsh。Mac提供的默认zsh位于/ usr / bin / zsh,并且可能使用的是5.2之类的旧版本,当与iTerm或oh-my-zsh一起使用时,可能会导致速度降低。

  1. 要快速粘贴到zsh中,请在终端中执行以下命令。
mkdir -p $ZSH_CUSTOM/lib && touch $ZSH_CUSTOM/lib/misc.zsh
  1. 第2点应该已经解决了缓慢的登录时间。但是为了安全起见,请执行以下命令
mkdir -p .hushlogin
  1. 您可能正在使用大量的插件,这些插件很慢并且会产生滞后。您需要指出这些插件并将其删除。为此,您将需要zsh分析。点击此链接以获取更多详细信息-

https://stevenvanbael.com/profiling-zsh-startup


欢迎来到超级用户!请不要对多个问题发布相同的答案。如果相同的信息确实回答了两个问题,则应关闭一个问题(通常是较新的问题),作为另一个问题的重复。您可以通过投票将其关闭作为重复项来表明这一点,或者,如果您没有足够的声誉,可以举一个标志来表明它是重复项。否则,请针对这个问题量身定制答案,而不仅仅是在多个地方粘贴相同的答案。
DavidPostill
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.