Bash Shell 的加载时间各不相同

Bash Shell 的加载时间各不相同

我在 Ubuntu 18.04 上使用 bash。我添加了很多功能,很多脚本都来自我的 bashrc。我能够计算加载终端所需的总时间,有时需要 0.9 秒到一分钟多。而且这种情况是随机发生的,不仅仅是第一次需要更多时间。

如何记录和分析 bashrc 中每个命令的执行时间。我希望每次都能自动生成日志,当速度慢时我可以分析原因。

关于可以做什么的任何建议。

其次,预加载守护进程是否有助于加速终端的加载。我对此不太确定。

答案1

您可以使用 Bash 跟踪机制打印时间戳,假设\t在以下内容中进行了扩展$PS4

$ PS4='+ \t> ' bash -x -c "sleep 1; sleep 2; sleep 3"
+ 18:41:05> sleep 1
+ 18:41:06> sleep 2
+ 18:41:08> sleep 3

应该很容易将其应用于追踪您的.bashrc和/或.profile等。

答案2

  1. 您可以将该time命令放在每个命令之前.bashrc
  2. 要将命令的输出time(而不是命令输出本身)定向到日志文件,请参考这个问题
  3. 您可能希望在每个命令之前回显对日志文件有用的内容,以便您可以识别日志中正在计时的命令。
  4. (可选)您可能还希望date在开始时运行.bashrc并将输出定向到日志文件,以便您可以查看正在计时的登录事件。

相关内容