是否有任何现成的解决方案来记录系统启动时的内存消耗?我想将数据记录到简单的文本文件或某个数据库中,以便以后进行分析。
我正在开发基于 Linux 2.4 的嵌入式系统。我需要调试与内存消耗相关的问题。我的应用程序会在每次系统启动时自动启动。我需要定期(尽可能频繁地)获取带有时间戳的数据的方法,这样我就可以追踪问题。
我的问题的症状:当系统启动时,它启动了我的主应用程序和 GUI 以可视化系统的主要参数。基于 GTK+(X 服务器)的 GUI。如果我禁用 GUI 和 X 服务器,那么我的应用程序可以正常工作。如果我启用 GUI 和 X 服务器,当我在主板上安装 256 MiB 或 512 MiB 的物理内存时它不起作用。如果我安装了 1 GiB 的内存,那么一切正常。
最佳答案
以下脚本打印时间戳和标题。
#!/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
https://stackoverflow.com/questions/1868210/