gpt4 book ai didi

linux - 是否可以在每个内核的基础上测量单个进程消耗的周期?

转载 作者:太空宇宙 更新时间:2023-11-04 12:19:57 24 4
gpt4 key购买 nike

我最近看到this comment ,它询问是否可以测量进程的每核 CPU 负载,但没有得到答复,所以我将其作为一个问题提出。

是否有一种机制可以在每个内核的基础上测量单个进程使用的周期?

更具体地说,我希望定期(比如说每秒)进行测量,就像 perf 一样,但没有必要使用 perf。也就是说,类似于 perf stat -I 500 -e cycles sleep 5 的输出,但每个 CPU 用一行表示进程在该 CPU 上运行的周期数。

最佳答案

我认为这不太可能。

您可以在每个内核/每个 CPU 的基础上测量所有进程的周期(系统范围模式,可能需要特殊权限):

# per logical CPU / hardware thread
perf stat -a --no-aggr sleep 1
# per core
perf stat -a --per-core sleep 1

或者您可以监控给定进程的每个线程

perf --per-thread -p <pid>

奇怪的是 perf 确实接受 --per-core -a -p 的组合 - 但结果是假的,无论哪种方式都像是一个错误。

您可以使用 bcc/BPF 将一些东西拼凑在一起。参见 https://github.com/iovisor/bcc#tools/http://www.brendangregg.com/linuxperf.html .我确信以某种方式存在一条直线,但要找到它可能并不容易。

关于linux - 是否可以在每个内核的基础上测量单个进程消耗的周期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46307372/

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