如何在c语言中找到进程的调度延迟
我有一个linux上的C程序。在我的程序执行期间,如果进程面临超过阈值的调度延迟,我想做出一些决定 对我如何找到这个统计数据有什么建议吗如何在c语言中找到进程的调度延迟,c,linux,scheduling,C,Linux,Scheduling,我有一个linux上的C程序。在我的程序执行期间,如果进程面临超过阈值的调度延迟,我想做出一些决定 对我如何找到这个统计数据有什么建议吗 注意:调度延迟是指进程等待调度所花费的时间,即在调度程序队列中花费的时间 您可以将计时器设置为关闭,例如每分钟或任何合适的时间间隔,然后使用getrusage()收集统计数据,并根据这些结果(连续值之间的差异)做出决定,然后您可以将计时器设置为关闭,例如每分钟,或者选择合适的时间间隔,然后使用getrusage()收集统计数据,并基于这些结果(连续值之间的差异
注意:调度延迟是指进程等待调度所花费的时间,即在调度程序队列中花费的时间 您可以将计时器设置为关闭,例如每分钟或任何合适的时间间隔,然后使用
getrusage()
收集统计数据,并根据这些结果(连续值之间的差异)做出决定,然后您可以将计时器设置为关闭,例如每分钟,或者选择合适的时间间隔,然后使用getrusage()
收集统计数据,并基于这些结果(连续值之间的差异),您可以做出决定,然后使用time()
函数可以测量“挂钟”时间:
另一方面,clock()
函数允许您测量进程使用的CPU时间:
通过减去这两个,你可以得到你要求的近似值
PS:要获得更精确的测量值(时间具有第二分辨率),您可以使用clock\u gettime
:使用time()
函数可以测量“挂钟”时间:
另一方面,clock()
函数允许您测量进程使用的CPU时间:
通过减去这两个,你可以得到你要求的近似值
PS:对于更精确的测量(时间有第二分辨率),您可以使用
clock\u gettime
:您所说的“调度延迟”是什么意思?您能详细说明一下吗?我的意思是进程在调度程序队列中花费了多少时间,即等待调度所花费的时间。@Siddharth:您应该编辑您的问题以改进它,而不是在注释中回答。@Siddharth-它是进程在等待轮到它时所处的就绪队列,调度延迟的技术名称是“等待时间”。等候时间取决于以下因素:1。使用调度算法。2.当前正在运行的进程数。查看此链接@阿披实请读这个问题。我知道是什么因素导致了日程安排的延迟。问题是如何计算延迟值。不管怎样,佛朗哥已经回答了。你说的“计划延迟”是什么意思?您能详细说明一下吗?我的意思是进程在调度程序队列中花费了多少时间,即等待调度所花费的时间。@Siddharth:您应该编辑您的问题以改进它,而不是在注释中回答。@Siddharth-它是进程在等待轮到它时所处的就绪队列,调度延迟的技术名称是“等待时间”。等候时间取决于以下因素:1。使用调度算法。2.当前正在运行的进程数。查看此链接@阿披实请读这个问题。我知道是什么因素导致了日程安排的延迟。问题是如何计算延迟值。不管怎样,佛朗哥已经回答了。