Laufzeit.getRuntime (). availableProcessors ()

8

Ich versuche, die Leistung des Systems während der Ausführung eines Programms zu überprüfen

Ich verweise diesen Beitrag Systeminformationen auf Betriebssystemebene >

Wenn diese Runtime.getRuntime().availableProcessors(); ausgeführt wird, habe ich eine Antwort 4

erhalten

Ich habe availableProcessors () gelesen aber es sagt, dass diese Methode die Anzahl der Prozessoren zurückgibt

  1. Kann jemand erklären, was mit der Anzahl der Prozessoren gemeint ist?
  2. Warum bekomme ich 4 als Ergebnis?

Verwenden Sie Windows 7 Core i5 4gp.

Vielen Dank

    
Amith 09.08.2012, 06:34
quelle

5 Antworten

14

Die Anzahl der Prozessoren ist im Grunde die Anzahl der Ausführungs-Engines, die Ihren Code ausführen können. Eine der i5-Varianten ist eine 4-Kern-CPU, die i5-7-Serie. Diese können physikalisch unterschiedliche Prozessoren sein (obwohl sie sich innerhalb desselben Chips befinden) oder sie können logische Prozessoren sein, wenn Sie Hyper-Threading verwenden.

Siehe Ссылка und Ссылка für weitere Details.

    
paxdiablo 09.08.2012, 06:39
quelle
11

Wie Sie bereits gelesen haben, ist availableProcessors () eine Methode, die number of processors available to the JVM zurückgibt. 4 bedeutet die Anzahl der derzeit für JVM verfügbaren Prozessoren.

Diese Zeilen geben das number of logical cores unter Windows und in anderen Betriebssystemen zurück.

Auf einem Computer mit einem Quad-Core Core i7 , der Hyper-Threading unterstützt, wird 8 zurückgegeben.

Auf einem Computer mit einem Quadcore-Q6700 gibt diese Methode 4 zurück.

    
AlphaMale 09.08.2012 06:38
quelle
3

Sie haben einen Multi-Core-Prozessor (in Ihrem Fall sieht es so aus, als wäre es Lynnfield ). Jeder Kern zählt als eine separate CPU (ein separater Prozessor) für den Zweck der Information, da jeder Kern Befehle gleichzeitig mit den anderen ausführen kann.

    
mikołak 09.08.2012 06:37
quelle
3

Es gibt keine Kerne, die für den jvm-Prozess verfügbar sind. Es kann größer sein, wenn Hyper Threading aktiviert ist.

    
Nirmal- thInk beYond 09.08.2012 06:38
quelle
0

In diesem Zusammenhang ist ein "Prozessor" "hardware-fähig zur unabhängigen Ausführung", dh ein CPU Kern .

Es ist nicht das "Prozessor-Paket" - die einzelne Hardware-Einheit, die Sie kaufen (das sind eigentlich 4 unabhängige CPUs in einem Paket)

    
Bohemian 09.08.2012 06:43
quelle

Tags und Links