R, mem.limits(), and library(bigmemory)
cranに登録されている、bigmemory()というモジュールがある。とりあえずずぼらかまして、
library(bigmemory) # data <- read.delim(inFile, header=T) data <- as.big.matrix(as.matrix(read.delim(inFile, header=T)))
とかscriptに埋め込んでみたが落ちてしまった。このときmem.limits()を見てみたら、
> mem.limits() nsize vsize NA NA
とかなっていたので、Rのコマンドに引数付けて、メモリ使用量等設定して筈やってみた。
% time $HOME/bin/R --max-vsize=14G --max-nsize=100M --args $DIR $TYPE $PREFIX < code.R &> $PREFIX_code.log
topで見てたらあっさり14G超えたよorz、即kill -kill $PID # ><
仕方ないのでもう少し確認してみる。
% time $HOME/bin/R --max-vsize=14G --max-nsize=100M --args $DIR $TYPE $PREFIX
> mem.limits() nsize vsize 104857600 NA
ん?
> mem.limits(vsize=14G) Error: unexpected symbol in "mem.limits(vsize=14G"
ん??
> mem.limits(vsize=14000000000) nsize vsize 104857600 NA Warning message: In structure(.Internal(mem.limits(as.integer(nsize), as.integer(vsize))), : NAs introduced by coercion > mem.limits() nsize vsize 104857600 NA
...orz >NAs introduced by coercion
にゃんで><
仕方ないので
再度library(bigmemory)でなんとかしてみる。
data <- as.big.matrix(as.matrix(read.delim(inFile, header=T)), ..., backingpath = backingDir, )
などとごにょごにょしてみたが、そもそもbackingfileの所に何も出来ないだと...!
もう一回試してみる必要があるにゃ><