2017-06-29 1 views
0

大きなオブジェクト(5GB)の変更を処理する場合、30GBのRAMを搭載したWindowsマシンで数回エラー Reached total allocation of 31249Mb: see help(memory.size)。しかし、プロセスは完了しているようです。つまり、が正しい値のようなと見えるファイルを取得します。大きなファイルのすべてのビットを正確にチェックして、それを切り取って正しいセクションと比較することは時間がかかりますが、私がそれを行ったときに返されたオブジェクトは私の期待通りに正しいと思われます。 /副作用をリスク何「合計31249Mbの割り当て:help(memory.size)」のリスク

が、私はこのエラーから期待できますか?私は何を確認すべきですか?私が期待しているリターンを取り戻しているのでプロセスが自動的に回復しているのですか、エラーがより微妙になっていますか?私の分析プロセス全体はtidyverseを使って書かれていますが、これはHadleyらのエラー処理に頼ることができ、なぜ私のプロセスが警告を発するのですか?

N.B. MWEには何も試みられていません。どのマシンでも使用可能なメモリの制限が異なりますが、表示されるのはうれしいですが、この種のプロセスにはMWEがあります。

答えて

0

memory.limit(x)を使用してください。ここで、xは、それを与えるメモリのMBです。 Increasing (or decreasing) the memory available to R processes

+0

おかげで、私はこのことを認識だ:

は、詳細についてはリンクを参照してください。私の質問は、特にこのエラーが発生した場合、エラーチェックについてですが、明らかに正しく処理されたオブジェクトが返されます。さらに、私の記憶限界は正しく設定されているようです:30Gb approx == 31249Mb – DaveRGP

+1

それについては、質問の第2部分を見ていませんでした。一部の機能では、読み込み中および使用中にデータが大幅に拡張されます。これは私がここで起こったことです。今まで使ったことのある最大のオブジェクトは2.2GBでしたが、この問題は発生しませんでした。チャンクでのエラーチェックではなく、プロセスをチャンクに分割するのは理にかなっていますか? – Adam

関連する問題