R ワークスペース上で定義しているオブジェクトの合計サイズを確認する
Rで開発を行なっていたら、Environment領域に写る変数や関数といったオブジェクトが次々と増え、rm()で削除しないまま作業をしてると、メモリが逼迫しクラッシュするケースがある。特に、DBから抜いたデータをデータフレーム化して加工のたびにそのまま変数に残したりしていると、こういった事がしばしば発生する。
上述のとおり、rm()を用いて定義したオブジェクトを削除することはできるが、開発するにあたって、最低限必要なものは残さなければいけない。どのオブジェクトがどれだけのサイズになっているか、定義しているオブジェクトの合計はどの程度か、は次のコードで確認できる。
オブジェクトのサイズ確認
print(object.size(df), unit="auto")
オブジェクトの合計サイズ確認
for(obj in ls()){ if(!exists('total')) total<-0 else total<-total+object.size(get(obj)) } print(total, unit="auto")