1. ホーム
  2. r

[解決済み] R on MacOS Error: vector memory exhausted (limit reached?)

2022-03-03 07:01:49

質問

Rスクリプト(特にBioconductorパッケージの"getLineages"関数を使用しています)を実行しようとしているのですが、どのようにすればよいですか? スリングショット .

この関数は、このパッケージの他の関数と比較して、最もメモリを消費する関数ではないようなので、この関数を使用すると、エラー "vector memory exhausted (limit reached?)" が表示されるのが不思議です(私が解析しているデータで)。

このような質問がStackoverflowにあることは理解していますが、それらはすべてRの64ビットバージョンに切り替えることを示唆しています。この問題に対する他の回答は今のところないようですが、どなたかご存知でしょうか?

データの大きさは、私のコンピュータの8GBのRAMよりもはるかに少ない、〜120mbしかありません。

解決方法は?

Rstudioを使用している方は、設定することで Sys.setenv('R_MAX_VSIZE'=32000000000) は、StackOverflow の複数の投稿で提案されているように、コマンドラインでのみ動作し、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を設定しても、このエラーを防ぐことができない場合があります。マシンのスペックによっては、このパラメータを調整する必要があるかもしれません。