【问题标题】:Get real-time machine usage data while running commands运行命令时获取实时机器使用数据
【发布时间】:2015-01-27 10:08:48
【问题描述】:

假设我想在终端中运行一些脚本(或者我刚刚硬编码到其中的一些命令/sn-p)。 我想知道它是否存在用于分析机器使用情况的实时统计数据的工具(% CPU、执行速度、专用内存等)我可以将我的脚本输入或类似的东西 strong>,所以我可以在脚本输出之后的输出中获取这些数据。

我在 Google 中搜索时运气不佳,在 SO 问题中也没有。我正在使用 Ubuntu 14.04

编辑:使用手动指示,我尝试了这种方式:

:~$ time -f "CPU %P%%\nMax RAM %M\n" ./myscript.sh
-f: command not found
/*
  normal output
*/
:~$

也试过了:

:~$ time --format="CPU %P%%\nMax RAM %M\n" ./myscript.sh
--format: command not found
/*
  normal output
*/
:~$

另外,作为一种绝望的措施:

:~$ time --verbose ./myscript.sh
--verbose: command not found
/*
  normal output
*/
:~$

没有任何作用。我不明白为什么 args 被拒绝。

【问题讨论】:

    标签: bash shell


    【解决方案1】:

    试试/usr/bin/time或更简单的内置bash版本time

    【讨论】:

    • 酷!为执行速度而完成。谢谢 :)。现在只剩下 % CPU 负载和专用内存。
    • /usr/bin/time 更加通用。 @SebasSBM 查看它的手册页,您可以使用 format.string.man7.org/linux/man-pages/man1/time.1.html 获取内存和 cpu
    • @JID 非常有趣...我现在正在尝试调整输出,但由于某种原因 -f--format args 被拒绝 "no command found " 响应。我将进行编辑以显示我尝试过的内容。
    • @SebasSBM 要明确timeusr/bin/time 是完全不同的。 usr/bin/time 是一个外部应用程序,而 time 是一个内置的 bash。要更改 time(builtin) 的格式,您需要更改 TIMEFORMAT 环境变量。我链接的手册页是usr/bin/time
    • @JID 很高兴知道。谢谢你:)
    【解决方案2】:

    time -p sh script_name

    O/p

    真正的 13.37 用户 0.00 系统 0.82

    【讨论】:

      【解决方案3】:

      在此我留下很久以前由@mefju 和@Poo 提供的帮助所获得的结果:

      改用外部应用程序/usr/bin/time(这与内置的bash time 不同,正如上面的JID 解释的那样)解决了args 拒绝问题。这种方式对我很有效:

      :~$ /usr/bin/time -f "CPU: %P\nMax RAM: %M kB\nTime: %e s\nSwap cnt: %W" ./myscript.sh
      

      结果输出:

      CPU: 63%
      Max RAM: 1432 kB
      Time: 0.45 s
      Swap cnt: 0
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-05-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多