日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
CPUSET(2) FreeBSD システムコールマニュアル CPUSET(2) 名称 cpuset, cpuset_getid, cpuset_setid -- CPU 類似性セットを管理する ライブラリ 標準 C ライブラリ (libc, -lc) 書式 #include <sys/param.h> #include <sys/cpuset.h> int cpuset(cpusetid_t *setid); int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); 解説 cpuset システムコールファミリによって、アプリケーションは、プロセッサの セットを制御して、これらのセットにプロセスとスレッドを割り当てることがで きます。プロセッサのセットは、メンバが実行する CPU のリストを含み、単にあ るプロセスがセットのメンバである限り、存在しています。システムのすべての プロセスには、割り当てられたセットがあります。システムのすべてのプロセス に設定されたデフォルトは、1 に番号付けれらたセットです。スレッドは、それ らを含むプロセスとして同じセットに属しますが、それらは、スレッド毎のマス クを匿名でそれらのセットをさらに制限します。 セットは多くのタイプ cpuset_id_t によって参照されます。各スレッドには、 ルートのセット、割り当てられたセット、と匿名のマスクがあります。ルートと 割り当てられたセットだけが番号付です。ルートのセットは、システム、または スレッドが実行しているシステムパーティションで利用可能なすべての CPU の セットです。割り当てられたセットは、ルートのセットの部分集合であり、プロ セスベース毎で管理上の割り当て可能です。多くのプロセスとスレッドは、番号 付のセットのメンバです。 匿名のセットは、割り当てられたセットでさらにスレッド特有の改良点です。ア プリケーション開発者が、cpuset_setaffinity(2) を使用して匿名のセットを操 作している間、管理者は、cpuset(1) を使用して番号付されたセットを操作する ことを対象としています。 正しいセットを選択するために、タイプ cpulevel_t の値が使用されます。level のための次の値が、サポートされています: CPU_LEVEL_ROOT ルートのセット CPU_LEVEL_CPUSET 割り当てられたセット CPU_LEVEL_WHICH which 引数によって指定されたセット which 引数は、id の値がどのように解釈されて、タイプ cpuwhich_t であるかを 決定します。which 引数には、次の値があります: CPU_WHICH_TID id は lwpid_t (スレッド id) です CPU_WHICH_PID id は pid_t (プロセス id) です CPU_WHICH_JAIL id は jid (jail id) CPU_WHICH_CPUSET id は cpusetid_t (cpuset id) です CPU_WHICH_IRQ id は irq 番号です CPU_WHICH_DOMAIN id は NUMA ドメインです '-1' の id は、現在のスレッド、プロセス、または現在のスレッドの cpuset を 意味する、CPU_WHICH_TID, CPU_WHICH_PID または CPU_WHICH_CPUSET の which で使用されます。すべての cpuset のシステムコールで、この使用法が可能で す。 CPU_WHICH_CPUSET 以外の which 引数に結合された CPU_LEVEL_WHICH の level 引数は、オブジェクトの匿名のマスクを参照します。このマスクは、id を持たな いで、cpuset_setaffinity(2) で操作されるだけです。 cpuset() は、現在のプロセスのルートのセットとして同じ CPU を含む新しい セットを作成して setid によって提供された空間に id を保存します。成功して 終了すれば、呼び出しプロセスは、セットに結合して、唯一のメンバです。子供 は、fork(2) への呼び出しの後にこのセットを継承します。 cpuset_setid() は、which 引数によって指定されたオブジェクトの ID をセット しようと試みます。現在の、CPU_WHICH_PID は、それらのプロセスと異なった ID がないスレッドとして唯一の受け付け可能な値で、API は既存のセットの ID を 変更することを許可しません。成功して終了したときに、ターゲットプロセスの すべてのスレッドは、セットによって許可された CPU で実行されます。 cpuset_getid() は、which によって示されたオブジェクトから set id を検索し て、setid によって指された空間にそれを格納します。検索された ID は、ルー トまたは、level の値に依存する割り当てられたセットのいずれかです。level は、id 引数によって指定されたプロセスまたはスレッドから set id を取得する ために CPU_LEVEL_CPUSET または CPU_LEVEL_ROOT であるべきです。プロセスま たはスレッドで CPU_LEVEL_WHICH を指定することは、これが無数の匿名のマスク を参照するので、サポートされていません。 セットの実際の内容は、cpuset_getaffinity(2) と cpuset_setaffinity(2) を使 用して検索されるか、または操作されます。さらに詳しくは、それらのマニュア ルページを参照してください。 戻り値 成功して終了したときには値 0 を返します。そうでない場合、値 -1 が返され、 グローバル変数 errno にエラーを示す値が設定されます。 エラー 次のエラーコードが、errno に設定されるかもしれません: [EINVAL] which または level 引数が有効な値ではありませんでし た。 [EDEADLK] cpuset_setid() 呼び出しは、セットがスレッドの匿名のマ スクに重ならないので、実行している有効な CPU なしでス レッドを残すでしょう。 [EFAULT] setid ポインタが、cpuset_getid() に渡されたか、または cpuset() が、無効でした。 [ESRCH] id と which 引数で指定されたオブジェクトを見つけること ができませんでした。 [EPERM] 呼び出しプロセスが、操作を完了するために必要とされる資 格証明がありませんでした。 [ENFILE] 割り付けのための空いている cpusetid_t がありませんでし た。 関連項目 cpuset(1), cpuset_getaffinity(2), cpuset_setaffinity(2), pthread_affinity_np(3), pthread_attr_affinity_np(3), cpuset(9) 歴史 cpuset システムコールファミリは、FreeBSD 7.1 ではじめて登場しました。 作者 Jeffrey Roberson <jeff@FreeBSD.org> FreeBSD 11.4 October 20, 2015 FreeBSD 11.4