测量Linux中的进程统计信息

don*_*llo 6 c linux statistics operating-system linux-kernel

我正在构建编程竞赛软件.用户的程序由我们的判断系统接收,并通过编译并通过fork()和exec()运行来评估.父进程等待子进程(提交的进程)退出,然后清除它.

为了提供有关程序运行的有用信息,我想测量程序使用的CPU时间和峰值内存.Linux内核是否跟踪这些值?有没有其他方法来获取此信息?

caf*_*caf 6

如果wait4()在完成时调用系统调用以收集子进程,它将填充具有子进程struct rusage的资源使用情况的结构(ru_utime并分别ru_stime保存子进程使用的用户和系统CPU时间).


jpa*_*cek 5

您可以使用getrusage()acct()(此处更多信息)系统调用