Bashシェルのロード時間はさまざまです。

Bashシェルのロード時間はさまざまです。

Ubuntu 18.04でbashを使用しています。私は多くの機能を追加し、多くのスクリプトが私のbashrcから来ました。ターミナルをロードするのにかかる合計時間を計算できましたが、時には0.9秒から1分以上かかりました。そしてこれはランダムに起こるので、最初より時間がかかります。

bashrcで各コマンドの実行時間を記録して分析する方法。ログを毎回自動的に生成したいので、速度が遅いときに理由を分析できます。

何ができるかについての提案。

第二に、事前ロードデーモンがターミナルロード速度を向上させるのに役立ちますか?私はこれについてよくわかりません。

答え1

\t以下で拡張されたと仮定すると、Bash追跡メカニズムを使用してタイムスタンプを印刷できます$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、出力をログファイルに送信してログインイベントが記録されることを確認することもできます。

関連情報