我在Macbook Air上运行一些基本数据操作(4GB内存,120GB高清,8GB可用)。我的输入文件大约是40 MB,在进程结束之前我不会向磁盘写入任何内容。但是,在我的过程中,我的Mac说没有内存可以运行。我检查了硬盘,发现剩下大约500MB。 所以这是我的问题:
非常感谢。
更新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在写什么。
答案 0 :(得分:5)
R写入临时的每会话目录,它也会在退出时清理。
遵循惯例并尊重TMP和相关的环境变量。
答案 1 :(得分:2)
是什么让您认为磁盘空间与此有关? R需要保存在内存中的所有对象,而不是磁盘(默认情况下;有一些附加软件包允许对磁盘存储文件的操作子集太大而无法放入RAM中)。
“进程”中的一个步骤是使R从OS请求一大块RAM以使其能够继续。操作系统无法遵守,因此R终止了您运行的“进程”,并显示您未能提供给我们的错误消息。 [提示,如果你显示实际错误而不是你的释义,那会有所帮助。你正在运行的代码的一些暗示也会有所帮助。 40MB的磁盘听起来像一个相当大的文件;多少行/列等? R内的物体有多大; object.size()
?