gpt4 book ai didi

将操作系统线程限制在一个 CPU 上会很糟糕吗?

转载 作者:行者123 更新时间:2023-11-30 17:11:17 25 4
gpt4 key购买 nike

假设我的 Windows Server 2012 R2 计算机有 8 个逻辑核心。使用线程/进程亲和性、进程优先级类别和线程优先级,我可以设置 7 个应用程序线程在核心 1-7 上运行,并将其优先级设置为实时/时间关键型,以便它们抢占所有操作系统线程并在这些线程上不间断地运行核心。其结果应该是操作系统只能在核心 0 上运行线程,并且没有任何应用程序线程妨碍。

如果我对关联性和优先级的理解是正确的并且这种情况是可能的,那么这会对操作系统造成问题吗?任何系统行为都会受到影响吗?一个内核足够操作系统使用吗?

这样做的原因是消除上下文切换,并确保环境始终具有相同的 7 个工作线程并行运行,而不会中断且不会发生缓存冲突。

最佳答案

操作系统中调度程序的全部意义(这是一个高度活跃的研究领域)是为每个线程/进程创建一个假象,让其获得所有 CPU 时间。正如@David Schwartz 指出的那样,您否认了调度程序执行此操作的能力。

所以,是的,这可能会给操作系统和系统行为带来问题 - 系统可能无法及时响应中断,并且某些与内核相关的任务 - 例如写入磁盘 - 将被延迟。这反过来可能会导致潜在的数据丢失(如果应用程序/系统崩溃)。

关于将操作系统线程限制在一个 CPU 上会很糟糕吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32384796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com