从R取消对CPU使用的限制

从R取消对CPU使用的限制,r,cpu-usage,R,Cpu Usage,有没有办法不限制CPU的使用,让我的电脑投入更多精力快速完成任务?目前,k-means算法预计将在10天内完成,这是我想要减少的。默认情况下,R是单线程的,并且只在CPU上的单线程上运行,如果您有一台16或32核的机器,这是一个遗憾。通过取消CPU使用限制,我必须假设您正在询问是否有任何方法让R进程(比方说k-means算法的一部分)通过并行运行进程来利用您的全部CPU能力 然而,并行处理并不能帮助许多R包和进程。因此,针对您的特定问题的技术解决方案可以归结为您正在使用的包实现。在可能的情况下,

有没有办法不限制CPU的使用,让我的电脑投入更多精力快速完成任务?目前,k-means算法预计将在10天内完成,这是我想要减少的。默认情况下,R是单线程的,并且只在CPU上的单线程上运行,如果您有一台16或32核的机器,这是一个遗憾。通过取消CPU使用限制,我必须假设您正在询问是否有任何方法让R进程(比方说k-means算法的一部分)通过并行运行进程来利用您的全部CPU能力

然而,并行处理并不能帮助许多R包和进程。因此,针对您的特定问题的技术解决方案可以归结为您正在使用的包实现。在可能的情况下,
caret
等流行软件包确实支持并行化,即使您可能需要添加额外的
allowParallel=T
参数。它们与诸如
doMC
之类的库一起工作,以允许多核进程。在下面的示例代码中,我让我的机器通过
registerDoMC(8)
函数使用8个内核,然后设置
allowParallel=T

library(doMC)
registerDoMC(8)
system.time({
  ctrl_2 <- trainControl(method="cv", number=3, allowParallel=T)
  fb_forest_2 <- train(classe ~ ., data=fb_train, method="rf", trControl = ctrl_2)  
})
库(doMC)
登记册地址(8)
系统时间({

ctrl\u 2定期运行进程需要多长时间?你真的是指10%的CPU使用率吗?
parallel::mclappy
在Windows上不起作用。你在那里用了什么?我不知道它在Windows上不起作用,所以我使用了它,是的,我是指10%的CPU使用率(这是来自任务管理器或系统的百分比Monitor@RalfStubner考虑到您的评论,我对问题进行了编辑,使其更适合您分析的日期与可用RAM相比有多大?一种解释可能是您的计算机交换了很多,即使用HDD存储RAM数据,因为RAM已满。在这种情况下添加附加RAM要求的附加流程将适得其反。