
コマンド「ps」はプロセスの現在のステータスを表示します。特定のプロセスの過去のステータスを確認する方法はありますか? たとえば、特定のプロセスの現在から 48 時間前のステータスを知りたい場合などです。
ユニットがクラッシュしており、クラッシュが発生した正確な時間におけるさまざまなプロセスのステータスを知りたいと考えていました。
答え1
いいえ、などのコマンドはps
プロセスtop
の現在のステータスのみを表示します。監視システムを既に設定していない限り、過去のプロセス ステータスを知る方法はありません。
将来的には、プロセスの状態をログに記録するように設定できますatop
。man ページから引用します。
長期分析用にシステム レベルおよびプロセス レベルの統計情報を保存するには (たとえば、昨日の午後 3 時から 4 時までのシステム負荷と実行中のアクティブなプロセスを確認する場合)、atop は、ファイル名の前にフラグ -w を付けて、圧縮バイナリ形式でシステム レベルおよびプロセス レベルの統計情報を raw ファイルに保存できます。このファイルがすでに存在し、raw データ ファイルとして認識される場合、atop はファイルに新しいサンプルを追加します (起動以降のアクティビティを反映するサンプルから開始)。ファイルが存在しない場合は、ファイルが作成されます。
デフォルトでは、間隔中にアクティブだったプロセスのみが raw ファイルに保存されます。フラグ -a が指定されると、すべてのプロセスが保存されます。間隔 (デフォルト: 10 秒) とサンプル数 (デフォルト: 無制限) は、最後の引数として渡すことができます。サンプル数の代わりに、フラグ -S を使用して、atop が深夜前に終了する必要があることを示すことができます。
すでに述べたように、atop
設定した瞬間からのみ録画が開始されます。