标签: affinity

如何设置特定pthread的CPU亲和力?

我想指定特定pthread的cpu-affinity.到目前为止,我发现的所有引用都涉及设置进程的cpu-affinity(pid_t)而不是线程(pthread_t).我尝试了一些传递pthread_t的实验,正如预期的那样,它们会失败.我想做一些不可能的事吗?如果没有,你能发一个指针吗?太感谢了.

cpu multithreading processor affinity

56
推荐指数
3
解决办法
7万
查看次数

如何在Linux中为C或C++中的进程设置CPU关联?

是否有一种编程方法可以为Linux操作系统在c/c ++中为进程设置CPU亲和性.

c linux smp affinity

34
推荐指数
4
解决办法
3万
查看次数

一个核心专门用于我的流程

可能重复:
如何设置特定pthread的CPU亲和性?

Linux中是否有一种方法可以为除一个进程之外的所有进程禁用一个核心?我想只保留一个核心,仅用于我的流程.

预期的行为如下:

  1. 在我的过程之后产生的进程不应该看到这个核心并使用其他核心.
  2. 当我的进程产生时,所有使用这个核心的进程都应该切换到其他核心.

linux process core affinity

32
推荐指数
2
解决办法
2万
查看次数

以编程方式设置"任务关联"

有没有办法以编程方式设置"任务亲和力"?我的意思是喜欢一些Intent旗帜或某事?我没有在Android文档中找到任何关于这一点的内容.

使用"android:taskAffinity"在AndroidManifest.xml中以静态方式设置关联不符合我的需要.

android manifest affinity

25
推荐指数
2
解决办法
4078
查看次数

pthread_self()和gettid()有什么区别?我应该使用哪一个?

我正在尝试在Linux上设置线程的CPU亲和性.我想知道推荐以下哪种方法:

  1. 使用pthread_self()获取线程ID

    通过将线程id作为参数传递,使用pthread_setaffinity_np(....)设置CPU关联

  2. 使用gettid()调用获取线程ID

    通过在进程id的位置传递线程id,使用sched_setaffinity(....)设置CPU关联

PS:设置CPU亲和性后,我打算增加线程的调度优先级.

linux pthreads affinity

23
推荐指数
1
解决办法
2万
查看次数

在Windows 7上使用start/AFFINITY命令设置关联

我正在使用该start /AFFINITY [n] [.exe]命令以指定的亲缘关系启动可执行文件.我有一个带8个处理器的系统(1,2,3,4,5,6,7,8).我想设置进程使用所有奇数处理器(1,3,5,7).我无法弄清楚如何做到这一点,并想知道是否可以使用start命令.如果没有,是否有另一种命令行方式呢?

start命令的帮助不是特别有用:

 AFFINITY    Specifies the processor affinity mask as a hexadecimal number.
             The process is restricted to running on these processors.

             The affinity mask is interpreted differently when /AFFINITY and
             /NODE are combined.  Specify the affinity mask as if the NUMA
             node's processor mask is right shifted to begin at bit zero.
             The process is restricted to running on those processors in
             common between the specified affinity mask and the NUMA node.
             If …
Run Code Online (Sandbox Code Playgroud)

command-line affinity windows-7

20
推荐指数
3
解决办法
6万
查看次数

如何确定哪些逻辑核共享同一物理核心?

我正在研究一种工具,让学生自我评估他们的编程作业的表现.特别是,他们编写的程序是多线程的,我没有直接的方法来影响创建的线程数.我想在给定不同数量的内核的情况下比较其程序的性能(理想情况下,它们的程序应该大致成比例地加速它允许使用的内核数量).

我们可以将一个位掩码传递给Process.SetAffinity来控制程序使用的核心.

这在使用超线程并将每个物理核心分成两个逻辑核心的i5和i7机器上存在问题.我希望程序在两个/四个不同的物理内核上运行.在我的i7机器上,亲和力设置为3(核心0和1)的进程将大致与单个核心上的程序一样快(表示这些逻辑核心共享相同的物理核心),但亲和力设置为5(核心0和3)它运行得更快(表明这些内核使用不同的物理内核).但是,我没有找到一种可靠的方法(除了反复试验)来确定这一点.

我如何(没有实验)确定哪些逻辑核共享相同的物理核心?

(/ proc/cpuinfo具有我需要的信息,但在Windows机器上不可用.)

.net c# multithreading processor affinity

19
推荐指数
1
解决办法
1271
查看次数

如何在C语言的Linux中使用sched_getaffinity和sched_setaffinity?

我在尝试着:

  • 使用处理器固定同时运行16个副本(每个核心2个副本)

  • 在处理器固定(每个核心2个副本)的同时运行8个副本,并在某个功能说功能1完成后将处理器核心翻转到最远的核心.

我面临的问题是如何选择最远的处理器.

有些朋友建议使用sched_getaffinity和sched_setaffinity,但我认为没有找到任何好的例子.

c linux schedule process affinity

14
推荐指数
3
解决办法
2万
查看次数

为进程分配cpu核心 - Linux

有没有办法强制进行具有特定PID的进程,只能在服务器的一个cpu上执行和运行?我知道有这样的命令

taskset -cp <Cpu_Number> <Pid>
Run Code Online (Sandbox Code Playgroud)

但上面的命令在我的系统上不起作用.如果还有其他命令,请告诉我.

bash cpu process affinity

13
推荐指数
1
解决办法
3万
查看次数

使用Windows脚本更改进程的亲和力

在Windows中,用

 START /node 1 /affinity ff cmd /C "app.exe"
Run Code Online (Sandbox Code Playgroud)

我可以设置app.exe的亲和力(app.exe使用的核心数).

使用Windows脚本,如何更改正在运行的进程的亲和力?

windows batch-file affinity

11
推荐指数
2
解决办法
3万
查看次数