微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

内核仍然安排代码在隔离的内核上运行

如何解决内核仍然安排代码在隔离的内核上运行

我有一个运行 Linux 内核 4.19.71 和 Intel Xeon Platinum 8160 cpu 的系统,它有 24 个物理内核,每个内核有 2 个线程,它有 48 个逻辑内核。我正在试验虚拟化(qemukvm),并希望将一组内核与操作系统和虚拟机管理程序隔离,以便内核专门运行应用程序代码。所以我添加isolcpus= 内核指令:

isolcpus=1-23,25-47

但是我仍然看到一些内核线程被安排在我隔离的内核上,例如:

# ps -A -L -o pid,nlwp,tid,c,psr,comm |sort -n -k 5 | grep 27
  148    1   148  0  27 kworker/27:0-mm_percpu_wq
  149    1   149  0  27 kworker/27:0H-events_highpri
  267    1   267  0  27 kworker/27:1-mm_percpu_wq
  799    1   799  0  27 kworker/27:1H-events_highpri
...
#

第 5 列是处理器(核心)id,在本例中为 27,根据上面的 isolcpus= 不应受到内核的干扰,但它在那里运行 kworker 线程。

这是否意味着存在异常并且仍然​​允许内核在隔离的内核上调度任务,或者我遗漏了一些明显的东西?

谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。