2

「TAIL -n -0 -F filename」を実行してログ ファイルを監視しています。しかし、ログファイルに多くのメッセージが書き込まれているため、これは多くの CPU を占有しています。ファイルを開いて新しい/少数のエントリを読み取って閉じ、5秒間隔ごとに繰り返す方法はありますか? ファイルを追跡し続ける必要がないようにするには?次の実行で最後に読み取った行を次の行から開始するにはどうすればよいですか? テールシェルcmdを生成することにより、nawkでこれを実行しようとしています。

4

2 に答える 2

1

--sleep-interval=S「S」は秒数です(デフォルトは1.0-小数を指定できます)を使用してみてください。

tail -n 0 --sleep-interval=.5 -F filename

CPUを占有しているログエントリが非常に多い場合tail、それらをどのように監視できますか?

于 2010-08-10T14:45:37.420 に答える
1

独自の実装を作成することによって、魔法のように少ないリソースを使用してファイルを追跡することはできません。ファイルが急速に成長しているために tail -f がリソースを使用している場合、書き込み中のすべての行を引き続き表示したい場合、カスタムバージョンは役に立ちません。ハードウェア I/O や CPU によって単純に制限されます。

于 2010-08-10T06:27:21.470 に答える