Có API nào để lấy số CPU có sẵn trong Linux không? Tôi có nghĩa là, mà không sử dụng/proc/cpuinfo hoặc bất kỳ tập tin sys-nút khác ...Nhận số CPU trong Linux bằng C
tôi đã tìm thấy thi này sử dụng sched.h:
int GetCPUCount()
{
cpu_set_t cs;
CPU_ZERO(&cs);
sched_getaffinity(0, sizeof(cs), &cs);
int count = 0;
for (int i = 0; i < 8; i++)
{
if (CPU_ISSET(i, &cs))
count++;
}
return count;
}
Nhưng, không có bất cứ điều gì nhiều hơn mức cao hơn khi sử dụng các thư viện phổ biến?
Tại sao là những người rất ngại sử dụng/proc? Mỗi hộp Linux tôi đã thấy trong 15 năm qua đều có nó, nó luôn được cập nhật với những gì hạt nhân biết, và định dạng của những thứ hiện có trong nó không thay đổi nhiều. – cHao
Tôi nghĩ thật tuyệt khi bạn đang cố gắng học những cách khác nhau để làm việc, nhưng bạn đang cố gắng tái tạo lại bánh xe? – Davidann
bản sao có thể có của [Làm cách nào để truy xuất số bộ xử lý trên C/Linux?] (Http://stackoverflow.com/questions/2693948/how-do-i-retrieve-the-number-of-processors-on- c-linux) –