linux - 有没有办法将 linux 中线程的 cpu 亲和性设置为 "follow"主线程?`

标签 linux linux-kernel

是否可以指示 linux 产生一个工作线程,但将其与父线程在同一 CPU 上多路复用,而不将两者都固定到特定的 CPU?

最佳答案

要在同一套接字上复用所有线程,您需要 compact scheduling ,这可以通过几种方式实现。

如果您已经有 worker ,请使用 tasksetnumactl获取当前的父关联,然后将子移动到同一个套接字。这里明显的缺点是它是事后的。

如果你还没有设置启动主机,设置KMP_AFFINITY=compact Intel OpenMP 环境的环境变量,或 OMP_PROC_BIND=master适用于 GNU OpenMP 环境。这是事前的,但需要您了解您的编译环境,或者至少涵盖所有情况。

关于linux - 有没有办法将 linux 中线程的 cpu 亲和性设置为 "follow"主线程?`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45246337/

相关文章:

python - 使用 python 编写守护进程而不是 C++

linux - Linux中结构体iov_iter的用途是什么?

Linux内存分段

linux - System.map文件中address的含义

java - 为什么我在使用 JSch 时会看到乱七八糟的输出?

python - bash/ python : Organization of several scripts

linux - 如何在 sed 中将方括号内的字母和数字替换为相同的数字和括号外的字母?

linux - Linux内核版本字符串基础

linux-kernel - 如何查找 unregister_chrdev() 调用是否成功

linux - 系统调用(读/写与 ioctl)