だから私はこのゲームに遅れていることを知っていますが、これを行う必要があったので、この答えを思いついたばかりでvmstat
、free
、 などの余分なフィールドが本当に欲しくありませんでした...すべてが過剰に出力されないように見えますフィルタリング。そこで、私が思いついた答えは次のとおりです。
top -bd 0.1 | grep 'KiB Mem' | cut -d' ' -f10 > memory.txt
また:
top -bd 0.1 | grep 'KiB Mem' | cut -d' ' -f10 | tee memory.txt
withしtop
たときの標準出力は次のとおりです。grep
Kib Mem
KiB Mem : 16047368 total, 8708172 free, 6015720 used, 1323476 buff/cache
これをカットして実行することで、文字通り、使用前の数値だけにフィルターをかけます。
ユーザーは、0.1
異なるキャプチャ サンプル レートを実行するために、 を別の数値に変更することができます。私の場合top
、キャプチャごとに 1 秒よりも速くメモリ統計を実行できるため、使用したいと思いました。ここでわかるように、1/10 秒ごとに統計をキャプチャしたかったのです。
注:
パイピングをcut
行うと、ファイルに何かを出力する際に大規模な遅延が発生することが判明しました。後で分かったように、cut
データ取得中にコマンドを省略し、後で出力ファイルに対してカット コマンドを実行する方がはるかに高速です。また、テストではタイムスタンプは必要ありませんでした。
したがって、これは次のようになります。
ロギングを開始します。
top -bd 0.1 | grep 'KiB Mem' | tee memory_raw.txt
ログの終了:
ctrl-z (to exit logging)
フィルター:
最初にカンマ、次にスペースによる 2 レベルのカット (フィルタリング)。これは、次のアライメントによるもので、top
よりクリーンな出力を提供します。
cut memory_raw -d',' -f3 | tee memory_used_withlabel.txt
cut memory_used_withlabel.txt -d' ' -f3 | tee memory_used.txt