This uses ps -ef
so only works on unix-alikes. It will search
for the percent CPU use and select only those above 40
numActiveThreads(pattern = "--slave", minCPU = 50)
Character string that will be matched to the ps
call
A numeric indicating what percent is the minimum to be considered "active"
A numeric of the number of active threads that match the pattern
if (FALSE) {
## Determine how many threads are used in each remote machine in a cluster
cores = "localhost" # put other machine names here
uniqueCores <- unique(cores)
cl <- future::makeClusterPSOCK(uniqueCores, revtunnel = TRUE)
clusterExport(cl, "numActiveThreads")
out <- clusterEvalQ(cl, {
numActiveThreads()
})
names(out) <- uniqueCores
unlist(out)
stopCluster(cl)
}