Ich verwende häufig parallel::detectCores()
in R
, um die Anzahl der CPU-Kerne auf einem Host für parallelisierte Berechnung zu erhalten. Ich würde gerne eine Anzahl von verfügbaren und Leerlauf Kerne für meine Berechnung erhalten. Wenn einige der Kerne von einem anderen Benutzer verwendet werden, möchte ich sie nicht für mein Programm speichern. Können wir das programmatisch machen?Ermitteln verfügbarer und leerer Kerne in R
1
A
Antwort
1
Hier ist eine Methode, die Systembefehle und Regex verwendet, um die Leerlaufzeit jedes Prozessors zu erhalten ... dies sollte wahrscheinlich zu einer Funktion mit Optionen erweitert werden, um andere Leistungsmetriken (d. H. Systemzeit) zu ermöglichen.
library(doParallel)
# total cores
N_CORES <- detectCores()
# create list for readable lapply output
cores <- lapply(1:N_CORES, function(x) x - 1)
names(cores) <- paste0('CPU', 1:N_CORES - 1)
# use platform specific system commands to get idle time
proc_idle_time <- lapply(cores, function(x) {
if (.Platform$OS.type == 'windows') {
out <- system2(
command = 'typeperf',
args = c('-sc', 1, sprintf('"\\processor(%s)\\%% idle time"', x)),
stdout = TRUE)
idle_time <- strsplit(out[3], ',')[[1]][2]
idle_time <- as.numeric(gsub('[^0-9.]', '', idle_time))
} else {
# assumes linux
out <- system2(
command = 'mpstat',
args = c('-P', x),
stdout = TRUE)
idle_time <- as.numeric(unlist(strsplit(out[4], ' {2,}'))[12])
}
idle_time
})
+0
Vielen Dank für diesen Vorschlag. Es klappt! –
Verwandte Themen
- 1. R Füllen leerer Datenrahmen
- 2. Datastax Enterprise-Anzahl verfügbarer Cores
- 3. Ermitteln der Anzahl verfügbarer Bilder und verbleibender Bilder eines Jssor-Schiebereglers
- 4. Liste verfügbarer Datentypen in MySQL
- 5. handle_cast, mehrere Kerne und Warteschlangen
- 6. XPath erster verfügbarer Wert
- 7. iPhone: verfügbarer Speicherplatz
- 8. Verfügbarer Speicherplatz für Cluster
- 9. Verfügbarer Druckerbehälter mit PyCups
- 10. Maximaler verfügbarer .NET-Speicher?
- 11. Leerlaufzeit verfügbarer EBS-Volumes
- 12. Hoch verfügbarer Windows-Dienst
- 13. Modell nächster verfügbarer Primärschlüssel
- 14. Programmgesteuert die Anzahl der Kerne und die Menge des für Spark verfügbaren Arbeitsspeichers ermitteln
- 15. WinForms PropertyGrid mit leerer und nicht leerer Kategorie
- 16. Kann nicht mehr als 2 Kerne mit Microsoft R öffnen
- 17. Bester verfügbarer Führer zu Sencha?
- 18. Halten Speicherverbrauch innerhalb verfügbarer Menge
- 19. Xgboost, maximale Anzahl der Kerne
- 20. Abrufen verfügbarer Schriftgrößen unter Windows
- 21. Verfügbarer freier RAM-Speicher C#
- 22. mclapply nicht mehrere Kerne verwenden
- 23. Alle Kerne in Dask verwenden
- 24. Wie programmierbarer verfügbarer Speicher in iPhone?
- 25. Python Multiprocessing, CPU-S und CPU-Kerne
- 26. Interner verfügbarer Speicher im Gerät
- 27. Leerer Bildschirm in UIWebview
- 28. Leerer Platz in ImageButton
- 29. R Ermitteln von Unterbrechungswerten vom Histogramm
- 30. Reduzierer nimmt Mapper-Kerne
Ich glaube nicht, dass dies möglich ist, aber ich werde es auch wissen wollen! – clemlaflemme