ENV_GET_SYSTEM_RESOURCES 表関数 - システム情報を戻す

ENV_GET_SYSTEM_RESOURCES 表関数は、オペレーティング・システム、CPU、メモリーなど、システム上のメンバーに関連した情報を戻します。

アクティブなデータベースは、システム上の 1 つ以上のメンバーに存在することがあります。 コマンドを発行したデータベースがアクティブ状態になっているメンバーからのみ、この表関数がデータを戻します。

注: ENV_GET_SYSTEM_RESOURCES 表関数は、ENV_GET_SYS_RESOURCES 表関数および関連する ENV_SYS_RESOURCES 管理ビューに代わるものです。

ENV_GET_SYSTEM_RESOURCES 表関数は、メンバーごとに複数の行を戻すのではなく、メンバーごとに複数の列から成る 1 行で、すべてのデータを戻します。 また、ENV_GET_SYS_RESOURCES 表関数で戻される DBPARTITIONNUM 列のデータは、ENV_GET_SYSTEM_RESOURCES 表関数では MEMBER 列で戻されます。

スキーマは SYSPROC です。

許可

以下のいずれかの権限が必要です。
  • 表関数に対する EXECUTE 特権
  • DATAACCESS 権限
  • DBADM 権限
  • SQLADM 権限

デフォルトの PUBLIC 特権

なし

戻される情報

表 1. ENV_GET_SYSTEM_RESOURCES で戻される情報
列名 データ・タイプ 説明
メンバー SMALLINT member - データベース・メンバー・モニター・エレメント
OS_NAME VARCHAR(256) os_name - オペレーティング・システム名 : モニター・エレメント
HOST_NAME VARCHAR(255) host_name - ホスト名 : モニター・エレメント
OS_VERSION VARCHAR(256) os_version - オペレーティング・システムのバージョン : モニター・エレメント
OS_RELEASE VARCHAR(256) os_release - オペレーティング・システムのリリース : モニター・エレメント
MACHINE_IDENTIFICATION VARCHAR(256) machine_identification - ホストのハードウェア ID のモニター・エレメント
OS_LEVEL VARCHAR(256) os_level - オペレーティング・システムのレベル : モニター・エレメント
CPU_TOTAL BIGINT cpu_total - CPU 数モニター・エレメント
CPU_ONLINE BIGINT cpu_online - オンライン CPU 数のモニター・エレメント
CPU_CONFIGURED BIGINT cpu_configured - 構成されている CPU 数のモニター・エレメント
CPU_SPEED BIGINT cpu_speed - CPU クロック速度のモニター・エレメント
CPU_TIMEBASE BIGINT cpu_timebase - 時間基準のレジスター増分の周波数のモニター・エレメント
CPU_HMT_DEGREE BIGINT cpu_hmt_degree - 論理 CPU 数のモニター・エレメント
CPU_CORES_PER_SOCKET BIGINT cpu_cores_per_socket - ソケットあたりの CPU コア数のモニター・エレメント
MEMORY_TOTAL BIGINT memory_total - 合計物理メモリーのモニター・エレメント
MEMORY_FREE BIGINT memory_free - 物理メモリーの空き容量のモニター・エレメント
MEMORY_SWAP_TOTAL BIGINT memory_swap_total - スワップ・スペース合計 : モニター・エレメント
MEMORY_SWAP_FREE BIGINT memory_swap_free - フリーのスワップ・スペース合計 : モニター・エレメント
VIRTUAL_MEM_TOTAL BIGINT virtual_mem_total - 合計仮想メモリーのモニター・エレメント
VIRTUAL_MEM_RESERVED BIGINT virtual_mem_reserved - 予約済み仮想メモリーのモニター・エレメント
VIRTUAL_MEM_FREE BIGINT virtual_mem_free - 空き仮想メモリーのモニター・エレメント
CPU_LOAD_SHORT DOUBLE cpu_load_short - プロセッサー負荷 (短い時間フレーム) のモニター・エレメント
CPU_LOAD_MEDIUM DOUBLE cpu_load_medium - プロセッサー負荷 (中程度の時間フレーム) のモニター・エレメント
CPU_LOAD_LONG DOUBLE cpu_load_long - プロセッサー負荷 (長い時間フレーム) のモニター・エレメント
CPU_USAGE_TOTAL SMALLINT cpu_usage_total - プロセッサー使用率のモニター・エレメント
CPU_USER1 BIGINT cpu_user - 非カーネル処理時間 : モニター・エレメント
CPU_IDLE1 BIGINT cpu_idle - プロセッサー・アイドル時間のモニター・エレメント
CPU_IOWAIT1 BIGINT cpu_iowait - 入出力待機時間モニター・エレメント
CPU_SYSTEM1 BIGINT cpu_system - カーネル時間 : モニター・エレメント
SWAP_PAGE_SIZE BIGINT swap_page_size - スワップ・ページ・サイズのモニター・エレメント
SWAP_PAGES_IN BIGINT swap_pages_in - ディスクからスワップインされたページ数のモニター・エレメント
SWAP_PAGES_OUT BIGINT swap_pages_out - ディスクにスワップアウトされたページ数のモニター・エレメント
OS_FULL_VERSION VARCHAR(256) os_full_version - オペレーティング・システムの完全なバージョン : モニター・エレメント
OS_KERNEL_VERSION VARCHAR(256) os_kernel_version - オペレーティング・システムのカーネル ID : モニター・エレメント
OS_ARCH_TYPE VARCHAR(256) os_arch_type - オペレーティング・システムのアーキテクチャー・タイプ : モニター・エレメント
注:
1
これらのメトリックは、システム上のすべての論理プロセッサーを対象とした総計です。
AIX® オペレーティング・システムでは、メトリックは、データベース・サーバーが稼働しているワークロード・パーティション (WPAR) および論理パーティション (LPAR) に関するものです。

使用上の注意

  • 仮想化環境 (VMWare ESX など) では、データベース・システムが CPU_HMT_DEGREE または CPU_CORES_PER_SOCKET などの CPU トポロジーを判別できない場合があります。 これは、ハイパーバイザーが仮想化オペレーティング・システムに対して提供する情報が限られているために生じます。 このような場合は、CPU_CORES_PER_SOCKET および CPU_HMT_DEGREE の値が 1 になります。
  • 正確な結果を返すために、AIX、HP、および Windows のオペレーティング・システムでは、ENV_GET_SYSTEM_RESOURCES 表関数は 1 秒より長くかかります。

例 1: 3 つのメンバーからなる Db2® pureScale® セットアップのすべてのメンバーに関するオペレーティング・システム情報を取得します。

select MEMBER, varchar(HOST_NAME,12) as HOST_NAME, varchar(OS_NAME,8) as OS_NAME, 
	varchar(OS_VERSION,8) as OS_VERSION, varchar(OS_RELEASE,8) 
	as OS_RELEASE from table(SYSPROC.ENV_GET_SYSTEM_RESOURCES()) order by MEMBER

出力例を以下に示します。

MEMBER HOST_NAME    OS_NAME  OS_VERSION OS_RELEASE
------ ------------ -------- ---------- ----------
     0 hotel75      Linux    2          6         
     1 hotel78      Linux    2          6         
     2 hotel90      Linux    2          6         

  3 record(s) selected.

例 2: Db2 Enterprise Server Edition システム上の、このデータベースのホストとなっているシステムのメモリー情報を取得します。

select varchar(HOST_NAME,12) as HOST_NAME, MEMORY_TOTAL, MEMORY_FREE, 
   MEMORY_SWAP_TOTAL, MEMORY_SWAP_FREE, VIRTUAL_MEM_TOTAL, VIRTUAL_MEM_FREE 
   from table(SYSPROC.ENV_GET_SYSTEM_RESOURCES())

出力例を以下に示します。 スペースの制約上、出力の続きを 2 番目の行で示します。

HOST_NAME    MEMORY_TOTAL         MEMORY_FREE          MEMORY_SWAP_TOTAL    ...
------------ -------------------- -------------------- -------------------- ... 
hotel75                     32189                 4370                 8198 ...

1 record(s) selected
... MEMORY_SWAP_FREE     VIRTUAL_MEM_TOTAL    VIRTUAL_MEM_FREE      
... -------------------- -------------------- --------------------  
...                 7316                40387                11686  

例 3: 4 メンバーのパーティション・データベース環境で、データベースをホストするすべてのシステムのロード時間を検出します。

select MEMBER, varchar(HOST_NAME,12) as HOST_NAME, 
   CPU_LOAD_SHORT, CPU_LOAD_MEDIUM, CPU_LOAD_LONG 
	 from table(SYSPROC.ENV_GET_SYSTEM_RESOURCES()) order by MEMBER

出力例を以下に示します。

MEMBER HOST_NAME CPU_LOAD_SHORT          CPU_LOAD_MEDIUM         CPU_LOAD_LONG           
------ --------- ----------------------- ----------------------  ------------------------
     0 hotel75   +5.21000000000000E+000  +5.08000000000000E+000  +4.67000000000000E+000
     1 hotel78   +1.33000000000000E+000  +2.18000000000000E+000  +3.66000000000000E+000
     2 hotel90   +9.02000000000000E+000  +9.08000000000000E+000  +9.47000000000000E+000
     3 hotel32   +1.09000000000000E+000  +1.38000000000000E+000  +1.27000000000000E+000

  4 record(s) selected.
例 4:
select MEMBER, varchar(HOST_NAME,12) as HOST_NAME, CPU_TOTAL, 
   MEMORY_TOTAL, CPU_LOAD_SHORT
   from table(SYSPROC.ENV_GET_SYSTEM_RESOURCES()) 
   order by MEMBER
出力例を以下に示します。
MEMBER HOST_NAME          CPU_TOTAL   MEMORY_TOTAL          CPU_LOAD_SHORT
-----  --------------     ---------   ------------ -----------------------
     0 coralpib23                24          81920  +1.23696899414062E+000
     1 coralpib23                24          81920  +1.23696899414062E+000
     2 coralpib23                24          81920  +1.23696899414062E+000
     3 coralpib23                24          81920  +1.23696899414062E+000

 4 record(s) selected.