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