【问题标题】:Linux - Displaying Memory Usage LiveLinux - 实时显示内存使用情况
【发布时间】:2015-09-01 20:27:17
【问题描述】:

我正在运行GNU - Screen (4.03.01),因此我可以将多个终端合二为一,并且我正在寻找一种显示我的内存实时统计数据的好方法,以便在我执行编译、测试程序等工作时。 .我可以看到我还剩下多少资源。

我知道性能监视器有“TOP”...和其他类似程序,但我不是在寻找整个活动进程列表等...我只想要更新的内存统计信息的快照每 3-5 秒一次。

非常感谢任何抽出时间帮助我的人,非常感谢!

(用于可视化目的)

截图:

【问题讨论】:

  • 在任何地方以root 登录是一个坏习惯。在普通用户下做大部分事情,并用例如做关键的管理命令。 sudo
  • 我知道我在做什么......不过还是谢谢

标签: c linux memory


【解决方案1】:

你可以使用 watch 的组合来重复指定的程序并显示它的输出和 free 来显示当前的内存使用情况

免费观看-m 免费--帮助 用法: 免费 [选项] 选项: -b, --bytes 以字节显示输出 -k, --kilo 以千字节显示输出 -m, --mega 以兆字节显示输出 -g, --giga 以千兆字节显示输出 --tera 以 TB 为单位显示输出 -h, --human 显示人类可读的输出 --si 使用 1000 而不是 1024 的幂 -l, --lohi 显示详细的低和高内存统计信息 -o, --old 使用旧格式(没有 -/+buffers/cache 行) -t, --total 显示 RAM + 交换的总数 -s N, --seconds N 每 N 秒重复打印一次 -c N, --count N 重复打印N次,然后退出 --help 显示此帮助并退出 -V, --version 输出版本信息并退出 有关详细信息,请参阅免费 (1)。 观看——帮助 用法: watch [选项] 命令 选项: -b, --beep 如果命令有非零退出,则发出哔声 -c, --color 解释 ANSI 颜色序列 -d,--差异[=] 突出显示更新之间的更改 -e, --errexit 退出如果命令有一个非零退出 -g, --chgexit 当命令的输出改变时退出 -n, --interval 更新之间等待的秒数 -p, --precise 尝试以精确的时间间隔运行命令 -t, --no-title 关闭标题 -x, --exec 将命令传递给 exec 而不是“sh -c” -h, --help 显示此帮助并退出 -v, --version 输出版本信息并退出

【讨论】:

  • 谢谢,谢谢,正是我想要的。你知道它更新的时间间隔吗?
  • 默认为 2 秒,但您可以更改它:watch -n 0,1 free -m
  • 完美,只需在语句中传递参数即可。
  • 还有一个问题,你会不会碰巧知道如何处理 CPU 使用率?
【解决方案2】:

你可以使用valgrind工具Massif,我没试过,但它似乎是你要找的。​​p>

要使用 massif,安装 valgrind 然后运行:

valgrind --tool=massif program argument1 argument2 ...

【讨论】:

  • 感谢您的回复!但是如果 Linux 已经自带了一个内置的 cmd "watch",那么我宁愿使用它然后安装另一个程序。
  • @JordanDavis 我明白这一点,但其他已经拥有valgrind 的人可能认为它比watch 更好用。
  • 是的,它肯定取决于你的 Linux 发行版,不过我没有 valgrind。我还是会加一个你的答案,感谢您抽出宝贵的时间。
【解决方案3】:

另一个快速的解决方案是这样的脚本

while true; do 
     free -m
     # any command for CPU stats - i didn't understand - what you really want to see, please clarify - just % of CPU usage ?
     # i think this command should help you.
      ps -A -o pcpu | tail -n+2 | paste -sd+ | bc
done

【讨论】:

  • 我会在循环中添加一个sleep 0.5
【解决方案4】:

您可以做的另一件事是使用htop。它显示内存使用情况、每个内核的 CPU 使用情况,并显示每个进程使用的资源。真的很整洁,但可能没有其他答案那么详细。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    • 2011-04-08
    • 2016-04-26
    • 1970-01-01
    • 2017-10-28
    • 2013-05-11
    • 2018-04-07
    相关资源
    最近更新 更多