Rのgc
メカニズムで自動的に管理されるヒープ・メモリー(R用語でのベクトルとコンス)を制限することによって、埋込みRの実行で使用されるメモリーを制御できます。データベースでヒープ・メモリーのサイズを制限するには、sys.rqconfigset
ユーティリティを使用します。sys.rqconfigset
のキーワード引数を次の表に示します。
表8-1 SYS.RQCONFIGSETのキーワード引数
キーワード | デフォルト | 説明 |
---|---|---|
|
|
最小のRベクター・ヒープ・メモリー |
|
|
最大のRベクター・ヒープ・メモリー |
|
|
Rコンス・セルの最小値 |
|
|
Rコンス・セルの最大値 |
例8-4 埋込みRが使用するメモリーの制御用のSQLコマンド
-- Set the minimum R vector heap memory to 20M EXEC sys.rqconfigset('MIN_VSIZE', '20M'); -- Set the maximum R vector heap memory to 100M EXEC sys.rqconfigset('MAX_VSIZE', '100M') -- Set the minimum number of R cons cells to 500x1024 EXEC sys.rqconfigset('MIN_NSIZE', '500K'); -- Set the maximum number of R cons cells to 10x10x1024 EXEC sys.rqconfigset('MAX_NSIZE', '10M'); -- Set maximum vector heap memory and maximum cons cells to unlimited EXEC sys.rqconfigset('MAX_VSIZE', NULL); EXEC sys.rqconfigset('MAX_NSIZE', NULL);
注意:
sys.rqconfigset
プロシージャでは、Calloc、Realloc、callocまたはmallocによって割り当てられる場合のあるCタイプのメモリーを制御できません。Cタイプのメモリーは、Cで実装されるRの関数により使用される、一時的な値を保存するために作成されます。通常、Cタイプのメモリーのサイズは限定的であるため、Rのメモリー使用量に著しく影響することはありません。
sys.rqconfigset
プロシージャは、sys.rq_config
と呼ばれる構成表で設定を編集します。Oracle R Enterpriseの様々な環境設定を確認するためにこの表の内容を表示できます。sys.rq_config
に格納された設定で、埋込みRのメモリーが制限されます。必要な場合はこれらのメモリー制限を変更できますが、ほとんどの場合、sys.rq_config
の値は変更しないでください。
次の問合せは、sys.rq_config
に格納されているサンプルの値を示します。
SQL> SELECT * FROM sys.rq_config; NAME VALUE ------------------------- ----------------------------------------------------- R_HOME /usr/lib64/R R_LIBS_USER /dbhome_1/R/library VERSION 1.5.1 MIN_VSIZE 32M MAX_VSIZE 4G MIN_NSIZE 2M MAX_NSIZE 20M