![如何在 FreeBSD 上设置特定线程的关联性?](https://linux22.com/image/31944/%E5%A6%82%E4%BD%95%E5%9C%A8%20FreeBSD%20%E4%B8%8A%E8%AE%BE%E7%BD%AE%E7%89%B9%E5%AE%9A%E7%BA%BF%E7%A8%8B%E7%9A%84%E5%85%B3%E8%81%94%E6%80%A7%EF%BC%9F.png)
我试图弄清楚如何在 FreeBSD 系统上设置特定线程(但不是整个进程)的亲和力。
在 Linux 上,我可以使用 来执行此操作ps -L uH [pid]
,获取线程的 LWP ID,然后taskset
像使用实际的 PID 那样使用 - taskset -pc [cpu list] [lwp]
。我还没有找到 FreeBSD 的类似方法。
我可以使用 获取线程 ID procstat -t [pid]
,但尝试设置该线程 ID(使用cpuset -l [cpu list] -p [thread id]
)会返回“没有这样的进程”。
答案1
根据联机帮助页,有一个-t
cpuset 选项用于指定线程(-p
仅采用 PID):
-t tid Specifies a thread id as the target of the operation.
我现在没有 FreeBSD 系统来测试,所以我不知道你是否需要指定-p
或者是否-t
足够好。您可以尝试不使用 then 并观察结果。