【发布时间】:2011-01-23 03:25:06
【问题描述】:
我正在构建编程竞赛软件。一个用户的程序被我们的评审系统接收,并通过编译它并通过 fork() 和 exec() 运行它来评估它。父进程等待子进程(提交的进程)退出,然后将其清理干净。
为了提供有关程序运行的有用信息,我想测量程序使用的 CPU 时间和峰值内存。 Linux 内核是否跟踪这些值?有没有其他方法可以获取这些信息?
【问题讨论】:
-
小心这样做,流氓用户可能会在他们的程序中放入令人讨厌的惊喜。
-
我们使用 setrlimit 系统调用限制最大 CPU 时间、打开文件等,所以我认为用户不会有任何令人讨厌的惊喜 :)
标签: c linux statistics operating-system linux-kernel