首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将操作系统线程限制在一个CPU上会不好?

将操作系统线程限制在一个CPU上会不好?
EN

Stack Overflow用户
提问于 2015-09-04 04:23:03
回答 1查看 248关注 0票数 0

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

如果我对亲和力和优先级的理解是正确的,并且这种情况是可能的,这对操作系统会有问题吗?是否会有任何系统行为受到影响?一个内核对操作系统来说足够了吗?

这样做的原因是为了消除上下文切换,并确保环境中始终有相同的7个工作线程在没有中断和缓存冲突的情况下并行运行。

EN

回答 1

Stack Overflow用户

发布于 2015-09-04 04:31:21

OSes中调度器的全部要点--这是一个非常活跃的研究领域--是为每个线程/进程创建一种错觉,即它获得了的所有时间。正如@David Schwartz所指出的,你拒绝了调度器这样做的能力。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32384796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档