Wie kann die Anzahl verfügbarer CPU-Prozessoren (Kerne) der Java virtuelle Maschine (VM) per Java abgefragt werden? Das geht mit einem Java-Einzeiler:
int availableProcessors = Runtime.getRuntime().availableProcessors();
Die unterschiedlichen Raspberry Pi Modelle haben einen Kern:
// Pi W
// Pi Zero
// Pi 1 Modell A
// Pi 1 Modell A+
// Pi 1 Modell B
// Pi 1 Modell B+
Diese haben 4 Kerne:
// Pi 2 Modell B
// Pi 2 Modell B v1.2
// Pi 3 Modell A+
// Pi 3 Modell B
// Pi 3 Modell B+
// Pi 4 Modell B
und der iMac Pro 16 !
Hier die Beispiel-Klasse:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
package de.wenzlaff.system; /** * Klasse zur Ausgabe der verfügbaren CPU-Prozessoren (Kerne) der Java virtuelle * Maschine (VM) der Plattform. * * @author Thomas Wenzlaff * */ public class Plattform { public static void main(String[] args) { System.out.println("Anzahl verfügbaren CPU-Prozessoren (Kerne) der Java virtuelle Maschine (VM): " + getAvailableProcessors()); } /** * Liefert die Anzahl verfügbaren CPU-Prozessoren (Kerne) der Java virtuelle * Maschine (VM). * * @return int die Anzahl verfügbaren CPU-Prozessoren (Kerne) der Java virtuelle * Maschine (VM) */ private static int getAvailableProcessors() { // https://bitreporter.de/raspberrypi/raspberry-pi-geschichte-modelle-und-bauformen // 1 Kern: // Pi W // Pi Zero // Pi 1 Modell A // Pi 1 Modell A+ // Pi 1 Modell B // Pi 1 Modell B+ // 4 Kerne: // Pi 2 Modell B // Pi 2 Modell B v1.2 // Pi 3 Modell A+ // Pi 3 Modell B // Pi 3 Modell B+ // Pi 4 Modell B // Mac: // iMac Pro: 16 int availableProcessors = Runtime.getRuntime().availableProcessors(); return availableProcessors; } } |
Wer das mal auf dem Pi ausprobieren will, holt sich in einem leeren Verzeichnis die Datei und führt sie aus:
1 2 3 4 5 |
wget http://blog.wenzlaff.de/wp-content/uploads/2020/02/de.wenzlaff.plattform.zip unzip de.wenzlaff.plattform.zip java de.wenzlaff.system.Plattform |
Ausgabe, dann je nach System:
Anzahl verfügbaren CPU-Prozessoren (Kerne) der Java virtuelle Maschine (VM): 1