默认将所有线程归为核心
Default all threads to a core?
i指定了带有核心2-11的cpuset x,taskset -cpu-list 2。
。似乎我在用cpuset x嵌套的任务集运行一个过程,然后sched_getaffinity()只看到可用的core#2可用。
我的问题是有一种方法可以实现以下内容:
- 默认一个过程中的所有线程到1个核心,
- 该过程是由CPUSET"保护"的(因此,没有其他过程将使用指定的内核)和
- 我仍然可以通过编程方式设置某些线程的CPU亲和力(我知道如何使用pthread_attr_setaffinity_np())?
预先感谢。
让我以这种方式提出您的问题,您希望您的过程在其中一个内核上运行并防止其他过程在其上运行吗?在这种情况下,您应该引用命令isolcpus
。
通过在启动时间内使用参数isolcpus
,您可以将一个或多个CPU与内核调度程序隔离,除非使用使用CPU亲和力的过程/线程请求使用隔离的CPU。(参考 - http://www.linuxtopia.org/online_books/linux_kernel/kernel_kernel_configuration/re46.html,以及全部核心,专门用于单个过程)
相关文章:
- 从不同线程使用int64的不同字节安全吗
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 在C++中使用cURL和多线程
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 在cuda线程之间共享大量常量数据
- 如何将元素添加到数组的线程安全函数?
- C++ std 线程并列出分段错误(核心转储)
- 在优先级最低的核心中运行线程
- 如何在另一个核心上启动线程而不将处理器亲和力设置为特定核心
- 在运行时查找特定线程的CPU核心
- 教 gdb 理解核心文件中的微线程
- C++分段错误(核心转储)错误 - 强制转换指针/将函数值返回到线程
- c++中多线程中的分段错误(核心转储)
- openmp是否可以在同一个cpu(核心)上运行不同的线程?
- PC多线程性能和稳定性问题的简单基准测试.如何使每个线程在单独的核心上运行
- 多线程程序中的核心转储:basic_string::_S_construct null无效
- 我如何在不同的核心上运行4个线程(并行)
- 使用 C++11 线程的分段错误(核心转储)
- 在使用boost线程的多线程中出现分段错误(核心转储)
- 在Win32上,如何将线程移动到另一个CPU核心