在运行命令时获取实时机器使用数据

时间:2015-01-27 10:08:49

标签: bash shell

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

我在谷歌搜索没有运气,在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会被拒绝。

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

time -p sh script_name

O / P

真实的13.37 用户0.00 sys 0.82

答案 2 :(得分:0)

这里我留下了得益于@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