「vector memory exhausted (limit reached?)」というエラーが表示される

Exploratoryで「Error: vector memory exhausted (limit reached?)」というエラーが出た場合、以下を試してみてください。

プロジェクトを開き直す

一度プロジェクトを閉じることで、そのプロジェクトで開かれていたデータのキャッシュが解放されるために、結果的にメモリが解放されます。

プロジェクトを開き直した後で、再度同じ処理を試してみてください。

また、プロジェクト内でのメモリの使用量を確認することも可能です。詳細については、以下のノートをご参照ください。

Rの最大メモリの割り当てサイズを変更する

以下の手順で、Rの最大のメモリの割り当てサイズを増やすことができます。

ver 15.3以降のExploratoryをご利用の場合

システム設定から、Rに割り当てる最大メモリサイズを変更できます。

システム設定には、プロジェクトの一覧からアクセスが可能です。

image

またプロジェクトを開いた状態で、左上のプロジェクトメニューから「システム設定」をクリックすることでもアクセスが可能です。

image

続いて、「一般」タブの「Rの最大メモリサイズ」にご利用マシンのメモリサイズに合わせて、任意の値(GB)を入力してください。

image

何も指定しない場合は、お使いのマシンのメモリ状況に合わせて自動的に適切な値が設定されます。

なお、設定できる上限はお使いのマシンの物理メモリに依存します。たとえば32GBしかないマシンに64GBを設定しても、最大メモリサイズは32GBになります。

ver 15.3より前のExploratoryをご利用の場合

画像のように「スクリプト」の横の「+」ボタンをクリックして、新しいスクリプトを作成します。

「プロジェクトを開く際にこのスクリプトを読み込む」チェックボックスがオンになっていることを確認します。

以下のコマンドを入力します。なおこちらの例では、新しい最大メモリサイズとして32GBを設定します。

Sys.setenv('R_MAX_VSIZE'=32000000000)

「実行」をクリックします。

image

なお、こちらの結果は、Exploratoryデスクトップを利用しているマシンスペックに依存することにご注意ください。

お使いのマシンに16GBまでしかメモリを割り当てられない場合、32GBを設定しても最大メモリサイズは16GBになります。

セミナー: サイズの大きいデータを扱うときのベストプラクティス

他にも「サイズの大きいデータを扱うときのベストプラクティス」のセミナーがありますので、もしよろしければご覧ください。

「いいね!」 2