我正在对大数据进行分析,该数据基于社交网络数据与来自其他内部来源(如CRM数据库)的社交网络用户数据相结合。
我意识到有很多很好的内存分析,CPU基准测试,以及HPC包和代码片段。我目前正在使用以下内容:
system.time()
来衡量我的功能的当前CPU使用情况
Rprof(tf <- "rprof.log", memory.profiling=TRUE)
配置内存
使用
Rprofmem("Rprofmem.out", threshold = 10485760)
记录对象
超过10MB
require(parallel)
为我提供多核和并行功能
用于我的功能
source('http://rbenchmark.googlecode.com/svn/trunk/benchmark.R')
来
单核和并行模式下的基准CPU使用率差异
sort( sapply(ls(),function(x){format(object.size(get(x)), units = "Mb")}))
列出对象尺寸
print(object.size(x=lapply(ls(), get)), units="Mb")
给我完成脚本时使用的总内存
上面的工具给了我很多好的数据点,我知道还有很多工具可以提供相关信息,同时最大限度地减少内存使用,更好地利用HPC /集群技术,例如{{3 StackOverflow帖子来自this。但是,我不知道合成这些信息和预测我的CPU,RAM和/或存储内存要求的直接方式,因为我输入数据的大小会随着我正在分析的社交网络使用量的增加而增加。 / p>
有人可以提供示例或就如何执行此操作提出建议吗?例如,是否可以制作图表或回归模型或类似的东西,以显示随着输入数据的大小增加我将需要多少CPU核心,保持恒定的CPU速度和脚本完成所需的时间?