Linux でメモリ消費量をログに記録するにはどうすればいいですか? 質問する

Linux でメモリ消費量をログに記録するにはどうすればいいですか? 質問する

システムの起動からメモリ消費量をログに記録する、すぐに使用できるソリューションはありますか? 後で分析できるように、データを単純なテキスト ファイルまたはデータベースに記録したいと思います。

私は 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

おすすめ記事