Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在c语言中找到进程的调度延迟_C_Linux_Scheduling - Fatal编程技术网

如何在c语言中找到进程的调度延迟

如何在c语言中找到进程的调度延迟,c,linux,scheduling,C,Linux,Scheduling,我有一个linux上的C程序。在我的程序执行期间,如果进程面临超过阈值的调度延迟,我想做出一些决定 对我如何找到这个统计数据有什么建议吗 注意:调度延迟是指进程等待调度所花费的时间,即在调度程序队列中花费的时间 您可以将计时器设置为关闭,例如每分钟或任何合适的时间间隔,然后使用getrusage()收集统计数据,并根据这些结果(连续值之间的差异)做出决定,然后您可以将计时器设置为关闭,例如每分钟,或者选择合适的时间间隔,然后使用getrusage()收集统计数据,并基于这些结果(连续值之间的差异

我有一个linux上的C程序。在我的程序执行期间,如果进程面临超过阈值的调度延迟,我想做出一些决定

对我如何找到这个统计数据有什么建议吗


注意:调度延迟是指进程等待调度所花费的时间,即在调度程序队列中花费的时间

您可以将计时器设置为关闭,例如每分钟或任何合适的时间间隔,然后使用
getrusage()
收集统计数据,并根据这些结果(连续值之间的差异)做出决定,然后

您可以将计时器设置为关闭,例如每分钟,或者选择合适的时间间隔,然后使用
getrusage()
收集统计数据,并基于这些结果(连续值之间的差异),您可以做出决定,然后使用
time()
函数可以测量“挂钟”时间: 另一方面,
clock()
函数允许您测量进程使用的CPU时间:

通过减去这两个,你可以得到你要求的近似值

PS:要获得更精确的测量值(时间具有第二分辨率),您可以使用
clock\u gettime

使用
time()
函数可以测量“挂钟”时间: 另一方面,
clock()
函数允许您测量进程使用的CPU时间:

通过减去这两个,你可以得到你要求的近似值


PS:对于更精确的测量(时间有第二分辨率),您可以使用
clock\u gettime

您所说的“调度延迟”是什么意思?您能详细说明一下吗?我的意思是进程在调度程序队列中花费了多少时间,即等待调度所花费的时间。@Siddharth:您应该编辑您的问题以改进它,而不是在注释中回答。@Siddharth-它是进程在等待轮到它时所处的就绪队列,调度延迟的技术名称是“等待时间”。等候时间取决于以下因素:1。使用调度算法。2.当前正在运行的进程数。查看此链接@阿披实请读这个问题。我知道是什么因素导致了日程安排的延迟。问题是如何计算延迟值。不管怎样,佛朗哥已经回答了。你说的“计划延迟”是什么意思?您能详细说明一下吗?我的意思是进程在调度程序队列中花费了多少时间,即等待调度所花费的时间。@Siddharth:您应该编辑您的问题以改进它,而不是在注释中回答。@Siddharth-它是进程在等待轮到它时所处的就绪队列,调度延迟的技术名称是“等待时间”。等候时间取决于以下因素:1。使用调度算法。2.当前正在运行的进程数。查看此链接@阿披实请读这个问题。我知道是什么因素导致了日程安排的延迟。问题是如何计算延迟值。不管怎样,佛朗哥已经回答了。