【发布时间】:2011-04-05 01:38:22
【问题描述】:
我想让一个实时进程接管我的计算机。 :)
我一直在玩这个。我创建了一个本质上是while (1) 的进程(从不阻塞也不会产生处理器)并使用schedtool 以SCHED_FIFO 策略运行它(也尝试过chrt)。但是,该进程也让其他进程运行。
然后有人告诉我sched_rt_runtime_us 和sched_rt_period_us。所以我将运行时设置为-1,以使实时进程接管处理器(并尝试使两个值相同),但它也不起作用。
我在 Linux 2.6.27-16-server 上,在只有一个 CPU 的虚拟机中。我做错了什么?
谢谢,
编辑:我不想要叉子炸弹。我只想让一个进程永远运行,而不让其他进程运行。
【问题讨论】:
-
如果您的意思是“挂起”如“减速并崩溃”,请尝试使用叉形炸弹。如果我对您的理解正确(并且您不依赖于内核实现),那么 fork 炸弹将完全满足您的需求。
-
我同意 ^ 叉炸弹会更有效地做到这一点。
-
不,我不想这样。我只想让一个进程永远运行,而不让其他进程运行。
-
这在某些情况下实际上是一种有用的技术(特别是如果你只做一个任务并且拥有>1个核心)
标签: linux process linux-kernel scheduling real-time