linux - 识别进程的资源使用情况 : CPU, 内存和 I/O

标签 linux bash ubuntu unix command-line

  1. 我需要请求一些 AWS 资源,为此,我需要确定我的要求是什么:

    • CPU 核心数(也可能是 GPU)(执行并行处理)
    • 所需内存量
    • I/O 和网络读/写时间(可选/很重要)

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

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

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

    二。启动系统分析器

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

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

上下文:Unix/Linux

最佳答案

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

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

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

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

在你的脚本中你可以使用 times builtin (参见 this)

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

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

关于linux - 识别进程的资源使用情况 : CPU, 内存和 I/O,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52325367/

相关文章:

linux - 哪些 ESQL/C 函数可以直接从 C 代码调用?

linux - 如何在 Unix/Linux 中控制调度程序启动的进程

linux - 从 C++ 调用 shell 脚本

ubuntu - Geoserver Proxy Base URL 不用于图层预览

linux - 如何在没有软件中心的 Linux/Ubuntu 上安装应用程序

c - 多线程服务器中的段错误

java - 从 shell 脚本运行 java 时为 "No such file or directory"

ubuntu - 如何更新 Protobuf 运行时库?

linux - Puppet - 如何清除目录

python - Bash 或 Python,当向终端打印字符时,如何在 FIXED 位置更改字符?