为什么任务集对Fedora没有影响
why does taskset have no effect on fedora?
我正在尝试运行一个高度多线程的应用程序,并希望使用不同的内核(0,1,2,3,4,5,6 ...12). 我在谷歌上看到了任务集,
taskset 0x00000003 ./my_app
但是当我看到 Fedora 的系统监视器时,它只显示一个核心做 100%,而其他核心只有 12%、0%,...等。有没有办法告诉进程在某些核心上运行。我还听说过像 -t #no 内核这样的选项.喜欢
./my_app -t2
对于 0 和 1 核.. 但这也没有影响我做错了什么,任何人都可以引导我走向正确的方向。
taskset 0x00000003 ./my_app
设置my_app进程与内核 1 和 2 的关联。如果应用程序是多线程的,则线程将继承相关性,但未设置它们在核心 1 和 2 之间的分布。
要设置进程中每个线程的亲和力,您可以在进程运行后使用 taskset(即运行 myapp,检查线程 ID 并为每个线程调用 taskset -pc <core> <tid>
),或者在创建线程时使用 sched_setaffinity
设置亲和力,pthread_setaffinity_np
如果您使用的是 pthreads 等)。
无论./myapp -t2
做什么,都是特定于您的应用程序。
相关文章:
- 为什么返回类型的'const'限定符对标有 __forceinline/内联的函数没有影响?
- 是否有任何区域设置会影响宽字符编码?
- 此分配对速度有影响吗?
- "virtual"对C++析构函数有何影响?
- 如果我对"while"块发表评论,为什么程序会死机?其中的"yield"线有何影响?
- 当在循环中使用时,std::shared_ptr 对该循环的矢量化有任何影响吗?
- 明确定义'static const variable in a struct'对C++ 11 及以上有什么影响吗?
- 每个帧的参考中都有多少性能影响
- "insert"对德克的引用有什么影响?
- 如果订购有什么影响..否则如果按概率陈述
- 预编译的标题有多少影响MFC
- 等号在大括号初始化中是否有影响?例如。 'T a = {}'与'T a{}'
- 更改静态库的"动态 RTL"设置有什么影响?
- 公共和私有对对象的内存布局是否有任何影响
- 完成的线程是否对 winapi 中的主程序有影响
- 在 c++ 中使用 "this" 关键字对性能有影响吗?
- 额外的继承对对象结构或实例化有影响吗?
- 当do额外的括号有影响时,除了运算符优先级
- Array2的变化对Array(表)有影响
- try-catch对char**返回值有影响