【问题标题】:Why does this embedded linux top command fail?为什么这个嵌入式 linux top 命令会失败?
【发布时间】:2013-01-15 20:56:51
【问题描述】:

我正在尝试使用top 来证明我在Leopardboard(嵌入式Linux)目标上的test 进程存在内存泄漏。为什么这个命令

/ # top -b | grep test >> /media/top.txt &

好像马上就这样死了?

[3]+  Stopped (tty output)       top -b | grep test 1>>/media/top.txt

我看到是产生了一个空文件

-rwxr-xr-x    1 root     root             0 Jan 15 15:35 top.txt

Top 确实在交互模式下运行,产生这样的输出

 1079     1 root     S    83668 289%  17% test

但是我需要记录这个进程在很长一段时间内内存发生的情况来归档。

【问题讨论】:

  • 您可能需要完全断开与控制终端的连接,例如使用 setsid() 调用,您的系统上可能有也可能没有相应的实用程序。

标签: embedded-linux busybox top-command


【解决方案1】:

听起来你有一个错误的 {top|shell|grep} ;)让我猜这是一个基于busybox的系统?

也许更好的选择是编写一个简单的脚本来通过 /proc 文件系统监控进程的直接统计信息。您可能感兴趣的一些条目是

/proc//maps - 有关当前映射的内存区域的信息

/proc//smaps - 每个进程映射的内存消耗

/proc//stat - 一些有用的统计数据,包括驻留集大小(当前总内存使用量)

手册页 proc(5) 有更多关于这些 /proc/ 条目中包含哪些信息的信息。

狩猎愉快!

【讨论】:

    猜你喜欢
    • 2021-09-13
    • 2018-02-13
    • 1970-01-01
    • 2013-12-03
    • 2010-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多