如何解决内核仍然安排代码在隔离的内核上运行
我有一个运行 Linux 内核 4.19.71 和 Intel Xeon Platinum 8160
cpu 的系统,它有 24 个物理内核,每个内核有 2 个线程,它有 48 个逻辑内核。我正在试验虚拟化(qemu
和 kvm
),并希望将一组内核与操作系统和虚拟机管理程序隔离,以便内核专门运行应用程序代码。所以我添加了 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 举报,一经查实,本站将立刻删除。