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

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

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

我想得到只是但是,启动的进程占用的 CPU 时间与它的子进程占用的 CPU 时间无关。这可能吗?

答案1

如果您正在对某个软件进行基准测试,您可以使用 callgrind ( ) 之类的工具获得非常细粒度的结果valgrind --tool=callgrind

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

相关内容