每次我几个小时没用 iTerm 或 Terminal 后再启动它,它都要花 10-20 秒才能返回提示。屏幕一片空白,虽然我可以输入,但实际上无法运行任何命令。
如果我退出任一应用程序,后续启动(如果此后相对较快地完成)会非常快。只有当应用程序几个小时没有运行时,速度才会变慢。
我在 MacBookPro 上运行 OSX 10.5.7。我在另一台电脑上也有完全相同的设置,没有任何减速。
有什么想法可以再次加快速度吗?
答案1
尝试删除 Apple 系统日志文件/var/log/asl/
:
sudo rm /var/log/asl/*.asl
这对我来说很有帮助。
答案2
另一个建议可能会有帮助:
将启动 shell 从默认更改/usr/bin/login
为/bin/bash -l
,或者/usr/bin/zsh
如果您使用 zsh。
这可能会让您的终端/iTerm2 以光速启动!
对于终端:首选项 → 启动:从“默认登录 shell”更改为“命令:
/bin/bash -l
”对于 iTerm2:首选项 → 配置文件 → 常规 → 命令:从“登录 Shell”更改为“命令:
/bin/bash -l
”
答案3
我是否需要一定的声誉才能对帖子发表评论?无论如何,清除系统日志也为我解决了这个问题,谢谢。我尝试使用此处的补丁修补 path_helper:gist.github.com/123525,如评论中所建议的那样http://mjtsai.com/blog/2009/04/01/slow-opening-terminal-windows/(本帖前面提到过)但无济于事。我得到了一个神秘的错误。不过,这个补丁应该能加快 terminal.app 的启动速度。
添加:正如我所提到的,清除日志对我来说很有效,但问题仍然存在,因为在我删除日志后,日志不断变大。我发现“调整” /etc/asl.conf 为我提供了一个更持久的解决方案。修改是仅记录被归类为“关键”或更关键的消息,而不是记录“通知”类别和所有比这更关键的消息。此外,我忽略了来自 ftp、mail、local0、local1 的消息。这是我的 /etc/asl.conf 的粘贴:
##
# configuration file for syslogd and aslmanager
##
# redirect com.apple.message.domain to /var/log/DiagnosticMessages
? [T com.apple.message.domain] store_dir /var/log/DiagnosticMessages exclude_asldb
# authpriv messages are root/admin readable
? [= Facility authpriv] access 0 80
# remoteauth critical, alert, and emergency messages are root/admin readable
? [= Facility remoteauth] [<= Level critical] access 0 80
# broadcast emergency messages
? [= Level emergency] broadcast
# save kernel [PID 0] and launchd [PID 1] messages
? [<= PID 1] store
# save everything from emergency to notice
#? [<= Level notice] store
? [<= Level critical] store
# save lpr info level and above
#? [<= Level info] [= Facility lpr] store
# save all mail, ftp, local0, and local1 messages
#? [= Facility mail] store
#? [= Facility ftp] store
#? [= Facility local0] store
#? [= Facility local1] store
答案4
如果终端应用程序已加载但您尚未收到提示,则说明您的 shell 需要一段时间才能初始化。
这可能意味着你有太多的事情或一些耗时的事情.bashrc
(假设你使用bash
)。