名 前
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() が 返 す 数 よ り 小 さ い 場 合 が あ る 。
返 り 値
「 説 明 」 の 節 で 説 明 し た 通 り で あ る 。
準 拠
こ れ ら の 関 数 は GNU に よ る 拡 張 で あ る 。
注 意
こ れ ら の 関 数 の 現 在 の 実 装 は か な り コ ス ト が か か る 実 装 に な っ て い る 。 関 数 が 呼 ば れ る 度 に /sys フ ァ イ ル シ ス テ ム 内 の フ ァ イ ル を オ ー プ ン し て 解 析 す る よ う に な っ て い る か ら で あ る 。 以 下 の sysconf(3) の 呼 び 出 し で 、 こ の ペ ー ジ に 書 か れ て い る 関 数 を 使 っ た 場 合 に 返 さ れ る の と 同 じ 情 報 を 得 る こ と が で き る 。
np =
sysconf(_SC_NPROCESSORS_CONF); /* processors configured */
np = sysconf(_SC_NPROCESSORS_ONLN); /* processors available
*/
例
以 下 の 例 は 、 get_nprocs() と get_nprocs_conf() が ど の よ う に 利 用 で き る か を 示 す も の で あ る 。
#include
<stdio.h>
#include <sys/sysinfo.h>
int
main(int argc, char *argv[])
{
printf("This system has %d processors configured and
"
"%d processors available.\n",
get_nprocs_conf(), get_nprocs());
return 0; }
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。