1. ホーム
  2. r

[解決済み】エラー:ベクターメモリの枯渇(制限に達したか) R 3.5.0 macOS

2022-01-24 10:30:53

質問

R3.5.0にアップグレードした後、そのデータをRに読み込む際に問題に遭遇しました。約8GBのメモリを使用した後(私のMacは16GBのRAMを搭載)、別のファイルを読み込もうとすると、次のエラーが表示されます。

Error: vector memory exhausted (limit reached?)

以前の投稿を見つけました( エラー:ベクターメモリを使い果たした(制限に達した?) )で、環境変数R_MAX_VSIZEを高い値に設定してみたらどうかと提案されたので、以下を試してみました。

Sys.setenv(R_MAX_VSIZE = 16e9)

しかし、やはり同じエラーが発生しました。環境変数の設定が間違っているのか、何か見逃しているものがあるのか?

セッション情報です。

R version 3.5.0 (2018-04-23)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.5

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib

locale:[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages: [1] data.table_1.11.4

loaded via a namespace (and not attached):
[1] compiler_3.5.0 tools_3.5.0   

解決方法は?

Rstudioを使用している方は、設定することで Sys.setenv('R_MAX_VSIZE'=32000000000) はコマンドラインでのみ動作し、Rstudio を使用中にそのパラメータを設定しても、このエラーは回避できません。

Error: vector memory exhausted (limit reached?)

さらに読み進めていくと これ というスレッドがあり、Rstudioの問題点を明らかにし、解決策を以下のように示しています。

ステップ1:ターミナルを開く。

ステップ2:

cd ~
touch .Renviron
open .Renviron

ステップ3: 以下を最初の行として保存し .Renviron :

R_MAX_VSIZE=100Gb 

注:この制限は物理メモリと仮想メモリの両方を含みます。したがって、16Gbの物理メモリを持つマシンで_MAX_VSIZE=16Gbを設定しても、このエラーを防ぐことができない場合があります。マシンのスペックによっては、このパラメータを調整する必要があるかもしれません。