スレッドまたはプロセスが特定のCPUにバインドします

一般的なマクロ定義は以下のとおりです。

1)初期のCPUセットは、それが空集合に設定されています

空CPU_ZERO(cpu_set_tの*セット)。

2)CPU指定濃度は、CPUに加え

無効CPU_SET(int型のCPU、cpu_set_tの*セット)。

3)指定されたCPUの焦点から削除されます

無効CPU_CLR(int型のCPU、cpu_set_tの*セット)。

4)非ゼロ値に集中クエリCPUがいるかどうか、ではない、0を返します

int型CPU_ISSET(int型CPU、cpu_set_t *セット)。

 

一般的に使用される機能は以下のとおりです。

書式#include <unistd.h>

クエリを使用することができるコア1)数

int型にsysconf(_SC_NPROCESSORS_CONF)。

コアの数が、システムで使用することができる返しますが、それは現在の値がシステムで利用可能なコアの数を表していないように、システム内の核の数の値は、無効になっている含まれています

2)コアの数は、現在のシステムで使用することができます

int型にsysconf(_SC_NPROCESSORS_ONLN)。

現在利用可能な監査システムの真の代表

 

二つの機能に似て上記二つの機能に加えて、次のように

書式#include <sysの/ sysinfo.h>

1)利用可能なコアの数を取得します

int型get_nprocs_conf(無効)。

2)利用できる現在の実コアの数を取得します。

int型get_nprocs(無効)。

 

バインディングプロセスとCPU

書式#include <sched.h>

1)CPUに結合プロセスを設定します

int型のsched_setaffinity(pid_t pidを、size_tのcpusize、CONST cpu_set_tの*マスク)。

2)CPUと結合するプロセスをチェック

int型のsched_getaffinity(pid_t pidを、size_tのcpusize、CONST cpu_set_tの*マスク)。

 

CPU結合スレッド

1)結合スレッドCPUを設定します。

int型pthread_setaffinity_np(がpthread_tスレッド、size_tのcpuszie、CONST cpu_set_tの*マスク)。

2)結合スレッドCPUをチェック

int型pthread_getaffinity_np(がpthread_tスレッド、size_tのcpusize、CONST cpu_set_tの*マスク)。

 

現在のシステムのCPU関連の情報を表示します。

猫の/ proc / cpuinfoの

おすすめ

転載: www.cnblogs.com/rohens-hbg/p/11224865.html