Conocer en número de nucleos en Unix [C]
Muy rápidamente...
El número de nucleos de CPU se puede ver a través del directorio "/sys/ devices/system/cpu/", así que aprovechando que en Poesia_binaria_hay_un_post sobre_como_leer_directorios_en_C... aquí está un código que lee, la idea sería usar la función para usar el número correcto de hilos/procesos [getcpus.c]
include
include
include
include
define CPU_PATH "/sys/devices/system/cpu/"
int getCores(){
DIR *dir;
struct dirent* it;
int count = 0;
int i, isCpu;
dir = opendir(CPU_PATH);
if (dir == NULL){
exit(1);
}
while((it = readdir(dir)) != NULL){
if (strncmp(it->d_name, "cpu", 3) == 0){
isCpu = 1;
for(i = 3; it->d_name[i] != '\0'; i++){
if ((it->d_name[i] < '0')||(it->d_name[i] > '9')){
isCpu = 0;
break;
}
}
count += isCpu;
}
}
closedir(dir);
return count;
}
int main(int argc, char **argv){
printf("Encontrado(s): %i nucleo(s)\n", getCores());
return 0;
}
Hasta la próxima