2015-11-26 78 views
2

Linux有'cpu hotplug'啓用/禁用cpu的功能。cpu hotplug - 是否有一個系統調用來禁用linux中的cpu?

我想從C程序禁用計算機的cpus之一,所以我的問題是 - 如何?可能嗎 ?

Here我發現:

問:我如何在邏輯上脫機一個CPU?

答:執行以下操作:#echo 0>/SYS /設備/系統/ CPU/cpuX /在線

Coudlnt找到系統中的任何在本文中,雖然要求,所以希望有人能擺脫關於此的一些亮點,謝謝!

+0

將單個字符寫入文件時遇到問題? – myaut

+0

如果以這種方式繼承,我沒有任何反饋..? – nadavgam

回答

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); 
} 
相關問題