私の問題は、大きなデータ セット (約 2500 万行と 10 列、つまり約 1GB のデータ) に対する単純な計算にあります。私のシステムは次のとおりです。
32bits/Windows7/4Gb Ram/R Studio 0.96, R 2.15.2
BigMemory パッケージを使用してデータベースを参照できます。そして、私のデータベースで関数を使用します。また、ffパッケージ、ファイルハッシュなどでそれを行うことができます.
問題は、単純な計算 (一意の値、平均など) を計算しているときに発生します。典型的な問題があります。
「ベクトル サイズ n mb を割り当てることができません」
、ここで n は 70mb ~ 95mb などのように小さくすることができます。
私はこれについてこれまでに提供されたすべての(私が思うに)解決策について知っています:
increase RAM.
launch R with inline code "--max-mem-size XXXX",
use memory.limit() and memory-size() commands,
use rm() and gc(),
work on 64bit,
close other programs, free memory, reboot,
use packages bigmemory, ff, filehash, sql, etc etc.
improve your data, use integers, shorts, etc. ...
check memory usage of intermediate calculations, ...
etc.
これはすべてテストされ、実行されます(明らかに、別のシステム/マシンへの移動を除く)など。
しかし、私はまだ「ベクトルサイズn mbを割り当てることができません」というメッセージを受け取ります。たとえば、nは約90mbで、Rや他のプログラムからのメモリ使用量はほとんどなく、すべてが再起動され、新鮮です....私は違いを認識しています空きメモリとwindowsやRなどからの割り当ての間ですが、
使用可能なメモリが 3GB を超えるため、意味がありません。原因は本当にwindows32bの下にあると思います-Rメモリ管理ですが、4GBのRAMを購入したり、すべてのシステムを64ビットに切り替えて70MBを割り当てたりするのは冗談のようです。
足りないものはありますか?