web-dev-qa-db-ja.com

一定期間のCPU / RAM使用ログをUbuntu12.04にファイルに書き込む

CPU使用率を10秒ごとにテキストファイルに書き込む方法を探しています。

これを設定するにはどうすればよいですか? Ubuntu12.04を実行しています。

8
user214386

CPU使用率は簡単です:

コマンドラインから:
while ( sleep 10 ) ; do cat /proc/loadavg >> mylogfile ; done

Sleepコマンドは10秒間スリープし、その後、戻り値0(成功)で戻ります。私たちはそれを悪用してコンパクトなwhile(true)sleep10を取得します。

/ proc/loadavgには、過去5分間および過去15分間のnowのロード平均が含まれています。 10秒ごとにログを記録している場合は、最初の値のみに関心があります。

またはスクリプト内(bashを使用)。

#!/ bin/sh 
#すべてのposixシステムに存在することが保証されている/ bin/shの使用。
#シェル固有のパーツをスクリプトに追加する場合これを置き換えるより。
#例: bash固有のものを使用する場合は、次のように変更します。
 ##!/ usr/bin/env bash 
#Shebangがスクリプトの最初の行にあることを確認します(コメントなし)その上!)
 
#trueの場合、10秒間一時停止してから、Mylogfile 
#
 while(sleep 10);に情報を追加します。 cat/proc/loadavg >> mylogfileを実行します;完了


ログファイルに追加する情報にcat/proc/meminfoを追加できます。/proc/meminfoは非常に広範囲であり、多くのログを記録します。特定のメモリ情報のみでフィルタリングしたい場合は、それを投稿に追加してください。

その最も単純な形式は、次のようになります。
while (sleep 10) ; do cat /proc/loadavg /proc/meminfo >> mylogfile ; done)。

4
Hennes

atopをデーモンとして実行すると、CPU使用率、プロセスリスト、ディスクI/O、メモリ使用率など、大量のシステム状態データがログに記録されます。次に、atop -r [filename]を使用してデータをステップスルーできます。

1
Flup