如何在Linux上执行n个cpu周期的进程?我在多核服务器上有一个批处理系统,并希望确保每个任务获得完全相同的CPU时间。一旦消耗了cpu量,我想停止这个过程。到目前为止,我尝试用/ proc / pid / stats utime和stime做一些事情,但我没有成功。
答案 0 :(得分:0)
我认为这是不可能的(给几个进程提供完全相同的周期数; CPU周期通常小于一纳秒)。您可以执行x CPU秒的进程。使用setrlimit(2)与RLIMIT_CPU
您的批处理器也可以自行管理时间,请参阅time(7)。您可以使用计时器(请参阅timer_create(2)& timerfd_create(2)),event loop周围poll(2),使用clock_getttime(2)衡量时间
我不确定编写自己的batch processing系统是否有用。您可以使用现有的batch或slurm或gnqs(另请参阅商业产品,例如pbsworks,lsf ..)