GET_NPROCS(3)

ИМЯ
get_nprocs, get_nprocs_conf - возвращает количество процессоров

ОБЗОР
#include <sys/sysinfo.h>

int get_nprocs(void);
int get_nprocs_conf(void);

ОПИСАНИЕ
Функция get_nprocs_conf() возвращает количество процессоров, настроенных операционной системой.

Функция get_nprocs() возвращает количество процессоров, доступных в системе. Это значение может быть меньше чем возвращаемое get_nprocs_conf(), так как процессоры могут быть выключены (например, в системах с подключением на ходу).

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Как указано в ОПИСАНИИ.

АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение
get_nprocs(), get_nprocs_conf() | Безвредность в нитях | MT-Safe

СООТВЕТСТВИЕ СТАНДАРТАМ
Эти функции являются расширениями GNU.

ЗАМЕЧАНИЯ
Текущая реализация этих функций не оптимальна, так как при каждом вызове открываются и обрабатываются файлы в файловой системе /sys.

Следующие вызовы sysconf(3) возвращают тоже что и описанные здесь функции.

    np = sysconf(_SC_NPROCESSORS_CONF);     /* настроенных процессоров */
    np = sysconf(_SC_NPROCESSORS_ONLN);     /* доступных процессоров */

ПРИМЕР
В следующем примере показано использование get_nprocs() и get_nprocs_conf().

    #include <stdlib.h>
    #include <stdio.h>
    #include <sys/sysinfo.h>
    int
    main(int argc, char *argv[])
    {
        printf("В системе настроено %d процессоров и "
                "%d процессоров доступно.\n",
                get_nprocs_conf(), get_nprocs());
        exit(EXIT_SUCCESS);
    }

СМОТРИТЕ ТАКЖЕ
nproc(1)