udfGPLライブラリのインストールで説明したように、ExecRが動作するudfGPLサーバーのメモリ制限は調整できます。
udfGPLサーバーのメモリ制限のデフォルト値である32 MBを変更するには、cufconfig GDO(グローバル分散オブジェクト)ユーティリティを実行して、GPLUDFServerMemSizeフィールドを探します。GPLUDFServerMemSizeフィールドの推奨値は、1~3 GB(1073741824~3221225472バイト)です。メモリが不足していると、ExecRの実行中にエラーが発生する場合があります。
次の例は、システムのデフォルト設定を前提として、GPLUDFServerMemSize値を確認し、これを1 GBに変更する方法を示しています。
- rootユーザーとしてターゲット システムに接続し、Bashシェルのコマンド ラインを使用して次を実行します。
- 次のコマンドを実行して、現在のcufconfigパラメータとその値を調べます。
/usr/tdbms/bin/cufconfig -o
- 出力一覧でGPLUDFServerMemSizeフィールドを見つけます。出力では次のように表示されるはずです。
... GPLUDFServerMemSize: 33554432 ...
これは、GPLUDFServerMemSizeのサイズが33554432バイト / 1024(KB/バイト) / 1024(MB/KB) = 32 MBであることを意味します。 - この値を1 GBに変更するには、サーバー上のすべてのノードで/tmpディレクトリにテキスト ファイルを作成し、このファイルに「GPLUDFServerMemSize: 1073741824」という行が含まれるようにします。これには次のコマンドを使用します。
psh "printf 'GPLUDFServerMemSize: 1073741824' > /tmp/ccChange.txt"
メモリ サイズはバイト単位で指定する必要があります。 - 次のコマンドを実行してcufconfigユーティリティを起動し、新しい設定を受け入れます。
psh /usr/tdbms/bin/cufconfig -i -f /tmp/ccChange.txt
- 次のコマンドを使用し、もう一度入力して処理の結果を確かめます。
/usr/tdbms/bin/cufconfig -o
GPLUDFServerMemSizeフィールドの変更内容は、次回ExecRクエリーが実行されたときに反映されます。