cpu hotplug - 是否有系统调用来禁用linux中的cpu?

时间:2015-11-26 00:57:09

标签: linux linux-kernel system-calls

Linux有' cpu hotplug '启用/禁用cpu的功能。

我想禁用其中一台电脑'来自C程序的cpus,所以我的问题是 - 如何?可能吗 ?

Here我发现了以下内容:

  

问:我如何在逻辑上离线CPU?

     

答:执行以下操作: #echo 0> / SYS /装置/系统/ CPU / cpuX /在线

Coudlnt在本文档中找到了有关系统调用的任何信息,所以希望有人可以对此有所了解,谢谢!

1 个答案:

答案 0 :(得分:1)

在Linux中没有用于禁用cpu的系统调用。你找到的文章是唯一的方法。但您可以将shell脚本重写为以下内容:

static void set_cpu_online(int cpu, int online)
{
        int fd;
        int ret;
        char path[256];

        snprintf(path, sizeof(path) - 1,
                 "/sys/devices/system/cpu/cpu%d/online", cpu);

        fd = open(path, O_RDWR);
        assert(fd > 0);

        ret = write(fd, "0" + (online ? 1 : 0), 1);
        assert(ret == 1);
}