gpt4 book ai didi

c++ - 有没有办法强制一个程序只使用一个线程?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:22:31 24 4
gpt4 key购买 nike

我正在对 Linux 上一个烦人的 cpp 程序进行基准测试。该程序一团糟,非常复杂!它会自动执行多线程,我想知道是否有任何方法可以通过某种方式强制调用它,例如任务集等,以仅使用 1 个线程。

编辑:我试过设置“taskset 01 program arg1 ...”但它不起作用。我刚刚看到程序使用了 100 个线程!

最佳答案

要限制 Linux 进程在一个内核上运行,请使用 taskset。以下摘自https://serverfault.com/a/32331

taskset <affinity mask> -p <process>

taskset 1 -p 12345

将进程 12345 设置为仅使用处理器/核心 1

位掩码可以是列表(即 1、3、4 使用 4+ 核心系统的核心 1、3 和 4)或十六进制的位掩码(0x0000000D 1、3、4,0x00000001 仅用于核心 1)

taskset 通常位于名为 shedutils 的包中。

编辑:差点忘了......如果你想设置新命令的亲和性而不是为现有进程更改它,请使用:

taskset <mask> <program> [<arg1>]...[<argN>]

关于c++ - 有没有办法强制一个程序只使用一个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38637451/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com