Назад | Перейти на главную страницу

Как подсчитать количество процессоров в системе OpenBSD?

Как я могу определить количество процессоров в системе OpenBSD с помощью системных инструментов или кода C?

Известный мне метод подсчета ЦП на других платформах BSD - проверка /var/run/dmesg.boot для определенных строк не всегда работает.

Больше контекста: К сожалению, у меня нет системы OpenBSD, с которой можно было бы поиграть. Я пытаюсь обратиться специфичные для OpenBSD сбои тестов для модуля Perl.

В OpenBSD у вас есть:

sysctl hw.ncpu

или

sysctl hw.ncpufound

Как объяснено в sysctl (3), ncpu - это количество процессоров, используемых системой, а ncpufound - это количество процессоров, обнаруженных системой.

Кстати, devio.us предоставляет бесплатную учетную запись оболочки на серверах OpenBSD.

Во FreeBSD это

sysctl -n hw.ncpu

и на Дарвине

sysctl -n hw.availcpu

Так, может быть, это похоже? Думаю, есть системный вызов, но сначала я бы покопался в командной строке.

Интернет говорит мне попробовать это

dmesg | grep -i CPU

или

sysctl -a | egrep -i 'hw.machine|hw.model|hw.ncpu'

есть ли cpuinfo ?? Я знаю, что вы можете иметь это в вариантах BSD ..