スロータップ完了を診断する方法は? [コピー]

スロータップ完了を診断する方法は? [コピー]

一部のユーザーが Tab キーを押してファイルパスを完成させると、コンピュータが完了するまで数秒かかります。彼らはbashシェルを使用しています。

このユーザーのタブの完成が中断される原因が正確に何であるかを診断するにはどうすればよいですか?

答え1

Bashで実行してecho $$シェルのプロセスIDを確認し、Tabbashを押す準備をします。別の端末を開いて実行します。strace -p1234ここで、1234はbashのプロセスIDです。stracebashによって実行されたシステムコールのトレースを印刷します。何が起こっているのか完全に理解していなくても、通常は時間がかかることを理解するのに十分です。通常、ネットワーク要求が行われているか、大容量ファイルにアクセスしています。速度の低下を避けるためにどの設定を変更する必要があるかを理解するのは簡単ではないかもしれません。

システムのセキュリティ設定によっては、関係のないプロセスを実行できない場合がありますstrace。それ以外の場合は、stracebashの親として実行してください。

strace -tt -T -o bash.trace bash

完了しようとしたら、bashを終了してトレースファイルを確認してくださいbash.trace。各行の先頭にはシステムコールが開始された時刻を示すタイムスタンプがあり、行の末尾の山かっこ内の数字はシステムコールにかかった時間です。

straceLinux命令です。 Linuxを実行していない場合は、システムで適切なコマンド(  、、、、dtrace... )を見つけます。trusstrace

関連情報