确定R函数

时间:2018-06-13 21:37:35

标签: r memory profiling

如何找到R功能的最大内存要求?我正在尝试改进函数的资源需求,但是很难找出最大内存占用量。

gc()似乎报告了所使用的最大内存,但这个最大值会受到函数期间运行gc时的问题的影响。我能够做的最好的事情是在启动R并运行脚本之前用ulimit -v设置最大内存,然后降低该限制直到脚本失败。这是一个相当缓慢的迭代过程。

有没有办法在单个R会话中找出资源需求?

1 个答案:

答案 0 :(得分:1)

查看profiling R code for memory use的文档。 Rprofmem()帮助文件中的示例也很有帮助。

首先使用输出文件和写入堆栈跟踪的时间下限调用Rprofmem()

Rprofmem("Rprofmem.out", threshold = 1000)

然后运行一些代码:

<your function>

然后关闭分析并查看文件

Rprofmem(NULL)
noquote(readLines("Rprofmem.out", n = <some integer>))

最大的是顶部。