Heim > Backend-Entwicklung > Golang > Detaillierte Erläuterung der Golang-CPU-Nutzungseinstellungen

Detaillierte Erläuterung der Golang-CPU-Nutzungseinstellungen

藏色散人
Freigeben: 2021-06-11 11:54:28
nach vorne
2672 Leute haben es durchsucht

Die folgende Tutorial-Kolumne von golang gibt Ihnen eine detaillierte Erklärung der Nutzungseinstellungen der Golang-CPU. Ich hoffe, dass sie für Freunde in Not hilfreich ist!

Für die folgenden Tests ist die verwendete Go-Version 1.8.3

Nicht festgelegt

Wenn runtime.GOMAXPROCS nicht zum Festlegen der CPU aufgerufen wird, verwendet Golang standardmäßig alle CPU-Kerne.

Die CPU der Testmaschine verfügt über 4 Kerne und der Testcode öffnet 4 Goroutinen. Aus den Testergebnissen ist ersichtlich, dass alle 4 Kerne vollständig ausgeführt werden.

Der Testcode lautet wie folgt:

package main

func main()  {
	go task()
	go task()
	go task()
	go task()

	select{}

}


func task(){

	for {	
	
	}

}
Nach dem Login kopieren

CPU-Auslastung festlegen

func GOMAXPROCS(n int) int
Nach dem Login kopieren

GOMAXPROCS legt die maximale Anzahl von CPUs fest, die gleichzeitig ausgeführt werden können, und gibt die vorherige Einstellung zurück .

Legen Sie die Anzahl der CPUs fest, die während der gleichzeitigen Ausführung verwendet werden.

Stellen Sie beispielsweise so ein, dass nur 1 Kern verwendet wird.

runtime.GOMAXPROCS(1)
Nach dem Login kopieren
.

Stellen Sie so ein, dass nur 2 Kerne verwendet werden

Manchmal verwenden wir oft:

runtime.GOMAXPROCS(runtime.NumCPU())

runtime.GOMAXPROCS(2)
Nach dem Login kopieren

Die Funktion gibt die Anzahl der logischen CPUs zurück, die für den aktuellen Prozess verfügbar sind

Derzeit getestet, hat die Verwendung dieser CPU-Einstellung den gleichen Effekt da GOMAXPROCS nicht aufgerufen wird, d. h. alle CPU-Kerne verwendet werden.

2020.1.1 Ergänzungsupdate

Neueste Testergebnisse:

Testmaschine: MAC CPU 8 Kerne

Version: Go-Version go1.13 Darwin/AMD64

1. Verwenden Sie GOMAXPROCS nicht zum Einrichten der CPU
8 Goroutinen, die volle 8 Kerne ausführen kann, kann die CPU-Auslastung bis zu 800 % erreichen

2. Verwenden Sie GOMAXPROCS, um die CPU einzustellen.
8 Goroutinen Um nur 2 Kerne zu verwenden, kann die CPU-Auslastung bis zu 200 % erreichen

Das heißt, GOMAXPROCS kann verwendet werden, um die maximale Anzahl der vom Programm verwendeten CPU-Kerne festzulegen.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Golang-CPU-Nutzungseinstellungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage