gpt4 book ai didi

Linux perf 工具 - 如何同时分析多个进程?如何提取 CPU 周期百分比?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:46:22 24 4
gpt4 key购买 nike

我正在尝试分析我 CPU 上的一组进程。为了非常精确,我想使用 perf stat 命令来查看我的进程使用了​​多少个 CPU 周期。这与 top 不同,在 top 中我只能看到快照中使用的 CPU 百分比。

不幸的是,我没有找到同时分析多个进程的方法。这可能吗?

作为第二个问题:是否可以不仅查看使用的 CPU 周期,还可以查看同一时间间隔内使用的 CPU 周期总量(或百分比)?

最佳答案

您可以尝试为您想要的每个 pid 运行 perf stat -p PID1,PID2,PID3(使用 pidof、pgrep 等获取它们...)http://man7.org/linux/man-pages/man1/perf-stat.1.html

 -p, --pid=<pid>
stat events on existing process id (comma separated list)

还有有用的 -I msecs 选项来启用定期打印和 --per-thread 来分隔线程。

也可以尝试系统范围的 perf stat -a-A 或一些 --per-* 选项:http://man7.org/linux/man-pages/man1/perf-stat.1.html

   -a, --all-cpus
system-wide collection from all CPUs (default if no target is
specified)
-A, --no-aggr
Do not aggregate counts across all monitored CPUs.

--per-socket
Aggregate counts per processor socket for system-wide mode
measurements. This is a useful mode to detect imbalance between
sockets. To enable this mode, use --per-socket in addition to -a.
(system-wide). The output includes the socket number and the
number of online processors on that socket. This is useful to
gauge the amount of aggregation.

--per-core
Aggregate counts per physical processor for system-wide mode
measurements. This is a useful mode to detect imbalance between
physical cores. To enable this mode, use --per-core in addition
to -a. (system-wide). The output includes the core number and the
number of online logical processors on that physical processor.

--per-thread
Aggregate counts per monitored threads, when monitoring threads
(-t option) or processes (-p option).

关于Linux perf 工具 - 如何同时分析多个进程?如何提取 CPU 周期百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44097464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com