操作系统是RHEL 6(2.6.32)。我已经隔离了一个核心并在其上运行了一个计算密集型线程。/proc/{thread-id}/status显示每秒发生一次非自愿的上下文切换。
所讨论的线程是SCHED_NORMAL线程,我不想改变它。
如何减少这种非自愿上下文切换的数量?这是否取决于/proc/sys/kernel中的任何调度参数?
编辑:有几个回复提出了替代方法。在采取那种路线之前,我首先想要了解为什么即使在持续数小时的情况下,我每秒都会得到一次非自愿的上下文切换。例如,这是由CFS引起的吗?如果是,则是哪些参数以及如何进行设置?
编辑2:进一步澄清-我首先想回答的第一个问题是:为什么我每秒会得到一次非自愿的上下文切换,而不是每半秒或两秒钟一次?
所讨论的线程是SCHED_NORMAL线程,我不想改变它。
如何减少这种非自愿上下文切换的数量?这是否取决于/proc/sys/kernel中的任何调度参数?
编辑:有几个回复提出了替代方法。在采取那种路线之前,我首先想要了解为什么即使在持续数小时的情况下,我每秒都会得到一次非自愿的上下文切换。例如,这是由CFS引起的吗?如果是,则是哪些参数以及如何进行设置?
编辑2:进一步澄清-我首先想回答的第一个问题是:为什么我每秒会得到一次非自愿的上下文切换,而不是每半秒或两秒钟一次?