使用时间获取进程的 CPU 使用率,而不是其子进程的 CPU 使用率

Bee*_*ope 5 linux unix performance bash time

使用时time some_executable- 返回的系统和用户 CPU 时间实际上包括由指定的可执行文件启动的任何子进程的所有 CPU 时间(这对我来说实际上是新闻)。

但是,我只想获取启动进程产生的 CPU 时间,而不是它的子进程。那可能吗?

zeb*_*h49 2

如果您正在对一个软件进行基准测试,您可以使用 callgrind ( valgrind --tool=callgrind) 等方法获得非常细粒度的结果。

如果您正在寻找稍弱的东西,/proc/$PID/schedstat则包含有用的数字(例如“该线程已使用的时间”)。