R存储临时文件的位置

时间:2012-11-26 15:00:44

标签: r memory

我在Macbook Air上运行一些基本数据操作(4GB内存,120GB高清,8GB可用)。我的输入文件大约是40 MB,在进程结束之前我不会向磁盘写入任何内容。但是,在我的过程中,我的Mac说没有内存可以运行。我检查了硬盘,发现剩下大约500MB。 所以这是我的问题:

  1. R如何快速填满我的磁盘?我的理解是R将所有内容存储在内存中(除非我明确地将某些内容写入磁盘)。
  2. 如果R确实在磁盘上写入临时文件,我怎样才能找到这些文件来删除它们?
  3. 非常感谢。

    更新1:我收到的错误消息:

    Force Quit Applications: Your Mac OS X startup disk has no more space available for 
    application memory
    

    更新2:我检查了tempdir()并显示“var / folders / k_xxxxxxx / T // Rtmpdp9GCo”。但我无法从我的Finder找到这位导演

    更新3:在R中取消链接(tempdir(),recursive = TRUE)并重新启动计算机后,我恢复了磁盘空间。我仍然想知道R是否写在我的硬盘上以避免将来出现类似情况。

    更新4:我的主要对象大约是1GB。我使用Activity Monitor来跟踪进程,当内存使用量大约为2GB时,磁盘活动非常高:数据读取:14GB,数据写入,44GB。我不知道R在写什么。

2 个答案:

答案 0 :(得分:5)

R写入临时的每会话目录,它也会在退出时清理。

遵循惯例并尊重TMP和相关的环境变量。

答案 1 :(得分:2)

是什么让您认为磁盘空间与此有关? R需要保存在内存中的所有对象,而不是磁盘(默认情况下;有一些附加软件包允许对磁盘存储文件的操作子集太大而无法放入RAM中)。

“进程”中的一个步骤是使R从OS请求一大块RAM以使其能够继续。操作系统无法遵守,因此R终止了您运行的“进程”,并显示您未能提供给我们的错误消息。 [提示,如果你显示实际错误而不是你的释义,那会有所帮助。你正在运行的代码的一些暗示也会有所帮助。 40MB的磁盘听起来像一个相当大的文件;多少行/列等? R内的物体有多大; object.size()