Ermitteln der Anzahl der Prozessoren
Wie Sie erkennen die Anzahl der physischen Prozessoren/Kerne .net?
InformationsquelleAutor der Frage Peter C | 2008-10-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie Sie erkennen die Anzahl der physischen Prozessoren/Kerne .net?
InformationsquelleAutor der Frage Peter C | 2008-10-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
gibt die Anzahl der logischen Prozessoren
Für physische Prozessor-Anzahl würde wahrscheinlich müssen, verwenden Sie die WMI - folgende Metadaten werden unterstützt (XP/Win2k3 nach oben (Funktion im SP vor Vista/Win2k8).
Vorsichtig sein, dass HyperThreaded CPUs identisch zu sein scheinen mit multicore-CPU würde noch die performance-Eigenschaften sind sehr anders.
Überprüfen HT-fähige CPUs untersuchen Sie jede Instanz von " Win32_Processor und vergleichen Sie diese beiden Eigenschaften.
Auf multicore-Systemen diese in der Regel den gleichen Wert.
Beachten Sie außerdem, von Systemen, die mehrere Prozessor-Gruppendie Häufig auf Computern, die mit einer großen Anzahl von Prozessoren. Standardmäßig .Net wird nur mit dem ersten Prozessor, der Gruppe - was bedeutet, dass standardmäßig, threads nutzen werden nur CPUs aus dem ersten Prozessor, der Gruppe, und
Environment.ProcessorCount
zurückkehren wird nur die Anzahl der CPUs in dieser Gruppe. Nach Alastair Maw Antwortdieses Verhalten kann geändert werden, durch ändern der app.config wie folgt:InformationsquelleAutor der Antwort
Während
Environment.ProcessorCount
wird in der Tat erhalten Sie die Anzahl der virtuellen Prozessoren im system, das kann nicht sein der Anzahl der verfügbaren Prozessoren, um Ihren Prozess. Ich peitschte schnell eine kleine statische Klasse/Eigenschaft, um genau das:InformationsquelleAutor der Antwort Jesse C. Slicer
Umgebung.ProcessorCount auch alle HyperThread-Prozessoren.
Gibt es keine Möglichkeit (zumindest bis Windows 2003) zu unterscheiden, eine HyperThread-Prozessor mit zwei Kernen.
InformationsquelleAutor der Antwort Rob Walker
Diese tatsächlich unterschiedlich, je nach Zielplattform. Stephbu Antwort funktioniert Super auf XP SP3 und höher.
Wenn Sie auf älteren Plattformen, Sie können prüfen wollen,dieser Artikel. Ich schrieb es vor etwa einem halben Jahr und ich diskutieren verschiedene Möglichkeiten, dies zu tun, sowie die einzelnen vor-und Nachteile jeder Methode.
Können Sie auch prüfen wollen, dieser code project Artikel wenn Sie interessiert sind bei der Unterscheidung von Schatten-Kernen mit hyperthreading aus echten.
InformationsquelleAutor der Antwort Rick Minerich
System.Umwelt.ProcessorCount, was Sie brauchen
InformationsquelleAutor der Antwort Tsvetomir Tsonev
Umgebung.ProcessorCount
EDIT: verfügbar in .NET 2.0, nicht .NET 1.1
InformationsquelleAutor der Antwort liggett78
Haben nicht genug Mitarbeiter für die wiki, aber beachten Sie, dass zusätzlich zu XPSP2, Windows 2003 Server SP1 und SP2 müssen außerdem einen hotfix um diese Funktionalität zu aktivieren:
http://support.microsoft.com/kb/932370
InformationsquelleAutor der Antwort aristippus303
Können Sie PowerShell verwenden, um Zugriff auf umfassende Prozessor-Informationen. Zum Beispiel können Sie führen Sie den folgenden Befehl, um die Anzahl der CPU-Kerne:
Es ist viel einfacher zu Forschung WMI, wenn einige Art der explorer-tool. Also, ich kann empfehlen die Verwendung von WMI-browsing-tool (z.B. WMIExplorer oder WMI CIM Studio) zu untersuchen, WMI-Klassen, - Eigenschaften und-Methoden.
InformationsquelleAutor der Antwort bahrep