Golang: Wie verifiziert man die Anzahl der Prozessoren, auf denen ein Go-Programm läuft?

8

Ich bin neu bei Google Go (Golang). Meine Frage bezieht sich auf diesen Beitrag Was genau macht runtime.Gosched? . Die Struktur des Codes ist wie folgt kopiert. Meine Frage ist, dass, wenn ich die Anzahl der Prozessoren in GOMAXPROCS ändere, ich überprüfe, wie viele Prozessoren es läuft. Wenn ich "top" mache, zeigt es einen a.out-Prozess, der 100% oder weniger Ressourcen verbraucht, selbst wenn GOMAXPROCS mehr als 1 ist. Ich wäre für Ihre Hilfe dankbar.

%Vor%     
user984260 05.11.2012, 15:03
quelle

2 Antworten

24

Die größte Anzahl von logischen CPUs, zu denen der Prozess zu einem bestimmten Zeitpunkt ausgeführt werden kann, ist nicht mehr als das Minimum von runtime.GOMAXPROCS(0) und runtime.NumCPU() .

%Vor%     
Matt Joiner 06.11.2012, 05:40
quelle
2

Die Anzahl der Kerne kann von Ссылка abgefragt werden.

Die Dokumentation sagt: "NumCPU gibt die Anzahl der logischen CPUs auf dem lokalen Computer zurück."

    
zzzz 05.11.2012 15:29
quelle

Tags und Links