如何加速 Mac OSX 上的 Terminal.app 或 iTerm?

如何加速 Mac OSX 上的 Terminal.app 或 iTerm?

每次我几个小时没用 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)。

相关内容