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)

Arguments

pattern

Character string that will be matched to the ps call

minCPU

A numeric indicating what percent is the minimum to be considered "active"

Value

A numeric of the number of active threads that match the pattern

Author

Eliot McIntire

Examples

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)

}