【问题标题】:Identify Resource Usage of a Process: CPU, Memory and I/O识别进程的资源使用情况:CPU、内存和 I/O
【发布时间】:2018-09-14 05:16:01
【问题描述】:
  1. 我需要请求一些 AWS 资源,为此,我需要确定我的要求:

    • CPU 内核数(可能还有 GPU)(执行并行处理)
    • 所需的内存量
    • I/O 和网络读/写时间(可选/必知)

如何分析我的脚本,以便知道我是否充分利用了请求的资源?

  1. 如何分析整个系统?大致如下:

    我。在 AWS 上请求大量计算资源(CPU 和 RAM)

    二。启动系统分析器

    三。运行我的程序并等待它完成

    四。停止系统分析器并确定使用的#CPU 和 RAM 峰值

上下文:Unix / Linux

【问题讨论】:

标签: linux bash ubuntu unix command-line


【解决方案1】:

您可以使用time(1),但它有两种变体。

  • 大多数 shell 中的 time 内置函数通常不足以满足您的需求,所以...

  • 您需要time 包中的/usr/bin/time 程序

然后你会运行/usr/bin/time -v yourscript

在您的脚本中,您可以使用times builtin(参见this

您还应该考虑使用perf(1)oprofile(1)

最后,您可能最终会编写一些代码或使用通过/proc/ 查询内核的东西(请参阅proc(5))。像xosview 这样的实用程序正在使用它。

【讨论】:

  • 它是否也会让我获得我的程序可能产生的任何子进程的统计信息?甚至所有子进程的累积统计数据都很好
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多