在RAM交换到磁盘之前停止

时间:2012-10-24 12:00:48

标签: r

我正在排除为什么我的R脚本使用太多RAM,并且需要找到它发生的位置,以便我可以开始寻找解决方案。问题是,无论何时超出RAM,计算机都会开始交换到磁盘,然后是20分钟令人沮丧的计算机冻结,重新启动,并需要重新加载所有内容。

我可以在RAM满了之前停止脚本吗?我想这样的代码就是我需要的。但我无法弄清楚实际情况所需的“不确定1”和“不确定2”功能。

installed.RAM <- notsure1()
used.RAM <- notsure2()
stopifnot(used.RAM < 0.9*installed.RAM)

notsure1()和notsure2()是什么?

我在Ubuntu上使用R(使用RStudio Server)。 16GB内存。

1 个答案:

答案 0 :(得分:1)

在Linux / MAC OSX上:

installed.RAM <- as.numeric(system("awk '/MemTotal/ {print $2}' /proc/meminfo",intern=TRUE));
used.RAM <- installed.RAM - as.numeric(system("awk '/MemFree/ {print $2}' /proc/meminfo", intern=TRUE));