システムの起動からメモリ消費量をログに記録する、すぐに使用できるソリューションはありますか? 後で分析できるように、データを単純なテキスト ファイルまたはデータベースに記録したいと思います。
私は Linux 2.4 ベースの組み込みシステムで作業しています。メモリ消費に関連する問題をデバッグする必要があります。私のアプリケーションは、システムが起動するたびに自動的に起動します。問題を追跡できるように、定期的に (できるだけ頻繁に) タイムスタンプ付きのデータを取得する方法が必要です。
問題の症状: システムが起動すると、システムの主なパラメータを視覚化するためにメイン アプリケーションと GUI が起動します。GUI は GTK+ (X サーバー) に基づいています。GUI と X サーバーを無効にすると、アプリケーションは正常に動作します。GUI と X サーバーを有効にすると、マザーボードに 256 MiB または 512 MiB の物理メモリが搭載されている場合は動作しません。1 GiB のメモリが搭載されている場合は、すべて正常です。
ベストアンサー1
次のスクリプトは、タイムスタンプとヘッダーを出力します。
#!/bin/bash -e
echo " date time $(free -m | grep total | sed -E 's/^ (.*)/\1/g')"
while true; do
echo "$(date '+%Y-%m-%d %H:%M:%S') $(free -m | grep Mem: | sed 's/Mem://g')"
sleep 1
done
出力は次のようになります (Ubuntu 15.04、64 ビットでテスト済み)。
date time total used free shared buffers cached
2015-08-01 13:57:27 24002 13283 10718 522 693 2308
2015-08-01 13:57:28 24002 13321 10680 522 693 2308
2015-08-01 13:57:29 24002 13355 10646 522 693 2308
2015-08-01 13:57:30 24002 13353 10648 522 693 2308