go 设置运行 cpu 数目 | 学习笔记

简介: 快速学习 go 设置运行 cpu 数目

开发者学堂课程【Go 语言核心编程 - 面向对象、文件、单元测试、反射、TCP 编程go 设置运行 cpu 数目】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/626/detail/9750


go 设置运行 cpu 数目

 

一,设置 Golang 运行的 cpu 数

介绍:为了充分了利用多 cpu 的优势,在 Golang 程序中,设置运行的 cpu 数目。
package main
import” fmt"
import ”runtime”

Func  main() {
//获取当前系統 cpu 的数量
num := runt ime,NumCPU()
//我这里设置 num-1的 cpu 运行 go 程序

runt ime.GOMAXPROCS (num)
fmt.Println("num=",  num)

}
go1.8后,默认让程序运行在多个核上,可以不用设置。
go1.8前, 要设置一下,可以更高效的利益 cpu。

import "runtime"
runtime 包提供和 go 运行时环境的互操作,如控制 go 程的图数。它包括用于 refec 包的低层次类型信息;参见 reflect 报的文档获取运行时类型系统的可编程接口。

func NumCPU
func NumCPU() int
NumCPU 返回本地机器的逻辑 CPU 个数。
func GOMAXPROCS
func GOHAXPROCS(Cn int) int
GOMXPROCS 设 E 可同时执行的最大 CPL 数,并返回先前的设置。若 n<1就不会更改当前设置,本地机器的逻辑 CPU 数可通过 NumCPU 壹询。本因数在调度程序优化后会去掉。
func SetCPUProfileRate
func SetCPUProfileRate(hz int)
SetCPuUrtleRale 设置 CPU pole 记录的速率为平均每秒几 z 次。如果 hz<=0 , SelCPUProleRale 会关团 poie 记录如果记录器在执行,该速率必须在关闭之后才能修改。
绝大多数使用者应使用 runtimeppror 包或 esting 包的-testcpupronle 选项非直接yoSetCPUProfleRale.func CPUProfile
func CPUProfle() []byte
CPUProfile 返回二进制 CPU profle 堆栈跟踪数据的下一个 chunk,函数会阻塞直到该数据可用。如果 profle 的记录被关闭,且在记录器开着的时候积累的 profle 数据都被返回,CPUProfle 会返回 nil.调用者在再次调用本图数之前应先保存返回的数据。
绝大多数使用者应使用 runtime/pprof 包或 testing 包的-estcpuprofle 选项而非直接使用 CPUProtle。

相关文章
|
3月前
|
监控 安全 Java
Go语言学习笔记(一)
Go语言学习笔记(一)
107 1
|
6月前
|
Oracle 关系型数据库 Linux
解决在linux服务器上部署定时自动查找cpu,内存,磁盘使用量,并将查询结果写入数据库的脚本,只能手动运行实现插库操作
问题描述:将脚本名命名为mortior.sh(以下简称mo),手动执行脚本后查询数据库,表中有相应的信息,放入自动执行队列中,脚本被执行,但是查询数据库,并没有新增数据。
45 0
|
7月前
|
Go
Go 语言使用 goroutine 运行闭包的“坑”
Go 语言使用 goroutine 运行闭包的“坑”
37 0
|
3天前
|
存储 Java Linux
聊聊Go程序是如何运行的
本文作者 **sharkChili** 是一名 Java 和 Go 语言开发者,同时也是 CSDN 博客专家和 JavaGuide 维护者。文章探讨了 Go 语言的执行过程,从汇编角度出发,解释了如何从 `main.go` 文件开始,经过入口跳转、参数拷贝、启动协程、运行 `g0` 的 `main` 方法等步骤,最终执行到用户定义的 `main` 函数。文章还展示了相关汇编代码片段,并提供了运行时检查、系统初始化和调度器初始化的细节。结尾提到,有兴趣的读者可以加入作者创建的交流群进行深入讨论。
9 0
|
6月前
|
Go
vscode 运行go 中文乱码
vscode 运行go 中文乱码
|
2月前
|
Go 调度
|
2月前
|
Unix 应用服务中间件 Linux
nginx的CPU亲和性设置和优先级设置
nginx的CPU亲和性设置和优先级设置
|
2月前
|
存储 分布式计算 算法
GO学习笔记之表达式
GO学习笔记之表达式
34 1
|
2月前
|
存储 编译器 Go
GO语言学习笔记
GO语言学习笔记
23 1
|
7月前
|
自然语言处理 编译器 Linux
超详细!通晓Go语言编译运行 你需要这篇攻略 | 进阶指南
超详细!通晓Go语言编译运行 你需要这篇攻略 | 进阶指南
483 0
超详细!通晓Go语言编译运行 你需要这篇攻略 | 进阶指南