JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
プログラミングインタフェースガイド     Oracle Solaris 10 1/13 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  メモリーと CPU の管理

2.  リモート共有メモリー API (Solaris クラスタ用)

3.  セッション記述プロトコル API

4.  プロセススケジューラ

5.  近傍性グループ API

近傍性グループの概要

インタフェースバージョンの確認

近傍性グループインタフェースの初期化

lgrp_init() の使用法

lgrp_fini() の使用法

近傍性グループ階層

lgrp_cookie_stale() の使用法

lgrp_view() の使用法

lgrp_nlgrps() の使用法

lgrp_root() の使用法

lgrp_parents() の使用法

lgrp_children() の使用法

近傍性グループの内容

lgrp_resources() の使用法

lgrp_cpus() の使用法

lgrp_mem_size() の使用法

近傍性グループの特性

lgrp_latency_cookie() の使用法

近傍性グループ、スレッド、およびメモリー配置

lgrp_home() の使用法

madvise() の使用法

madv.so.1 の使用法

madv.so.1 の使用例

meminfo() の使用法

近傍性グループのアフィニティー

lgrp_affinity_get() の使用法

lgrp_affinity_set() の使用法

API の使用例

6.  入出力インタフェース

7.  プロセス間通信

8.  ソケットインタフェース

9.  XTI と TLI を使用したプログラミング

10.  パケットフィルタリングフック

11.  トランスポート選択と名前からアドレスへのマッピング

12.  リアルタイムプログラミングと管理

13.  Solaris ABI と ABI ツール

A.  UNIX ドメインソケット

索引

近傍性グループの内容

次に示す API では、指定した lgroup の内容に関する情報を取り出します。

lgroup 階層は、ドメインのリソースを組織化し、もっとも近いリソースを検索するプロセスを簡素化します。葉 lgroup は、もっとも応答時間の短いリソースで定義されます。葉 lgroup の上位ノードの各 lgroup には、その子 lgroup にもっとも近いリソースが含まれます。ルート lgroup には、そのドメインにあるすべてのリソースが含まれます。

lgroup のリソースは、lgroup の直下に含まれるか、またはその lgroup にカプセル化された葉 lgroup 内に含まれます。葉 lgroup は、直下にリソースを含み、ほかの lgroup をカプセル化することはありません。

lgrp_resources() の使用法

lgrp_resources() 関数は、指定した lgroup に含まれるリソースの数を返します。

#include <sys/lgrp_user.h>
int lgrp_resources(lgrp_cookie_t cookie, lgrp_id_t lgrp, lgrp_id_t *lgrpids,
                   uint_t count, lgrp_rsrc_t type);

lgrp_resources() 関数は、lgroup 階層のスナップショットを表す cookie を引数に使用します。その cookie は lgrp_init () 関数から取得されます。lgrp_resources() 関数は、lgrp 引数の値で指定した ID を持つ lgroup にあるリソースの数を返します。 lgrp_resources() 関数は、CPU またはメモリーのリソースを直下に含む lgroup のセットを持つリソースを表します。lgrp_rsrc_t 引数には、次の 2 つの値が指定できます。

LGRP_RSRC_CPU

lgrp_resources() 関数は CPU リソースの数を返します。

LGRP_RSRC_MEM

lgrp_resources() 関数はメモリーリソースの数を返します。

lgrpids[] 引数として渡された値が NULL でなく、かつ count 引数に渡された値がゼロでない場合、lgrp_resources() 関数は lgroup ID を lgrpids[] 配列に格納します。lgrpids[] 配列に格納できる lgroup ID の最大数は count 引数の値です。

指定した cookie、lgroup ID、またはタイプが無効な場合、lgrp_resources() 関数は EINVAL を返します。指定した lgroup ID が見つからない場合、lgrp_resources () 関数は ESRCH を返します。

lgrp_cpus() の使用法

lgrp_cpus(3LGRP) 関数は、lgroup 階層のスナップショットを表す cookie を引数に使用し、指定した lgroup にある CPU の数を返します。

#include <sys/lgrp_user.h>
int lgrp_cpus(lgrp_cookie_t cookie, lgrp_id_t lgrp, processorid_t *cpuids,
              uint_t count, int content);

cpuid[] 引数が NULL ではなく、CPU 数がゼロでないとき、lgrp_cpus() 関数は、配列の要素数の上限まで、またはすべての CPU ID を配列に入れて返します。

content 引数には、次の 2 つの値が指定できます。

LGRP_CONTENT_ALL

lgrp_cpus() 関数は、この lgroup と下位ノードにある CPU の ID を返します。

LGRP_CONTENT_DIRECT

lgrp_cpus() 関数は、この lgroup にある CPU の ID だけを返します。

指定した cookie、lgroup ID、またはフラグのいずれか 1 つが無効な場合、lgrp_cpus() 関数は EINVAL を返します。指定した lgroup ID が存在しない場合は、lgrp_cpus() 関数は ESRCH を返します。

lgrp_mem_size() の使用法

lgrp_mem_size(3LGRP) 関数は、lgroup 階層のスナップショットを表す cookie を引数に使用し、指定した lgroup にインストールされたメモリー、または空きメモリー領域のサイズを返します。lgrp_mem_size() 関数は、メモリーサイズをバイト数で返します。

#include <sys/lgrp_user.h>
lgrp_mem_size_t lgrp_mem_size(lgrp_cookie_t cookie, lgrp_id_t lgrp,
                              int type, int content)

type 引数には、次の値が指定できます。

LGRP_MEM_SZ_FREE

lgrp_mem_size() 関数は、空きメモリー領域のサイズをバイト数で返します。

LGRP_MEM_SZ_INSTALLED

lgrp_mem_size() 関数は、インストールされたメモリーのサイズをバイト数で返します。

content 引数には、次の 2 つの値が指定できます。

LGRP_CONTENT_ALL

lgrp_mem_size() 関数は、この lgroup と下位ノードのメモリーサイズの総量を返します。

LGRP_CONTENT_DIRECT

lgrp_mem_size() 関数は、この lgroup のメモリーのサイズのみを返します。

指定した cookie、lgroup ID、またはフラグのいずれか 1 つが無効な場合、lgrp_mem_size() 関数は EINVAL を返します。指定した lgroup ID が存在しない場合は、lgrp_mem_size() 関数は ESRCH を返します。