7.8 埋込みRが使用するメモリーの制御
埋込みRの実行が使用するメモリーの制御方法。
Rのgcメカニズムで自動的に管理されるヒープ・メモリー(R用語でのベクトルとコンス)を制限することによって、埋込みRの実行で使用されるメモリーを制御できます。データベースでヒープ・メモリーのサイズを制限するには、sys.rqconfigsetユーティリティを使用します。sys.rqconfigsetのキーワード引数を次の表に示します。
                  
表7-1 SYS.RQCONFIGSETのキーワード引数
| キーワード | デフォルト | 説明 | 
|---|---|---|
| 
 | 
 | 最小のRベクター・ヒープ・メモリー | 
| 
 | 
 | 最大のRベクター・ヒープ・メモリー | 
| 
 | 
 | Rコンス・セルの最小値 | 
| 
 | 
 | Rコンス・セルの最大値 | 
例7-5 埋込み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と呼ばれる構成表で設定を編集します。OML4Rの様々な環境設定を確認するためにこの表の内容を参照できます。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 2.0 MIN_VSIZE 32M MAX_VSIZE 4G MIN_NSIZE 2M MAX_NSIZE 20M