如何将父子进程保持在同一核心上

如何将父子进程保持在同一核心上,第1张

概述我知道可以使用sched_setaffinity将进程(父进程)固定到核心,然后分叉进程继承亲和性并且也固定在同一核心上.但是,我不想永远将它们固定在同一个核心上.理想情况下,我想要的是让他们在同一个CPU上保持在一起,即如果父调度程序迁移了父调度,则子节点应该跟随父节点并迁移到与父节点相同的CPU.一种可能的方法是拥有一个共享变量,其中parent定期更新

我知道可以使用sched_setaffinity将进程(父进程)固定到核心,然后分叉进程继承亲和性并且也固定在同一核心上.但是,我不想永远将它们固定在同一个核心上.理想情况下,我想要的是让他们在同一个cpu上保持在一起,即如果父调度程序迁移了父调度,则子节点应该跟随父节点并迁移到与父节点相同的cpu.

一种可能的方法是拥有一个共享变量,其中parent定期更新其当前cpu.然后,子节点可以定期查找此变量,并使用sched_setaffinity迁移到与父节点相同的cpu.但是,这看起来有点Hacky,并且可能涉及它们在不同的cpu上运行的时段.有没有更好的方法来实现这一目

最佳答案是否可以在线程而不是在自己的进程中运行子进程? 总结

以上是内存溢出为你收集整理的如何将父子进程保持在同一核心上全部内容,希望文章能够帮你解决如何将父子进程保持在同一核心上所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1050077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存