runtime

package runtime主要是与go的runtime系统进行互动操作,例如控制goroutine的函数等。它也包含reflect package所需的低等级信息。

1. Environment Variables
GOGC: 设置初始的垃圾回收百分比。默认值为GOGC=100;如果设置GOGC=off,则会完全关闭垃圾回收功能。runtime/debug package的SetGCPercent函数可以在运行时改变其值。

GOGCTRACE: 从垃圾回收处控制debug输出。

GOMAXPROCS : 控制同时运行用户态go程序的操作系统线程数。

GOTRACEBACK : 控制错误导致的输出数量。

GOARCH, GOOS, GOPATH, GOROOT: 386或amd64、linux或windows、开发目录、安装目录。

Index

Package Files

compiler.go debug.go error.go extern.go mem.go mgc0.go softfloat64.go type.go

2. 基本函数

func GC

func GC()

运行垃圾回收。

func NumCPU

func NumCPU() int

返回本地主机的逻辑CPU数量。

func GOMAXPROCS

func GOMAXPROCS(n int) int

设置可以同时进行运算的CPU数量;如果n<1,则不改变当前设置;可以通过上面的NumCPU函数获得参数n。

func Goexit

func Goexit()

终止调用它的goroutine;其它goroutine不受影响。

func Gosched

func Gosched()

调用此函数的goroutine会主动放弃处理器,让其它goroutine使用此处理其,最初的goroutine排队等待被执行。

func NumGoroutine

func NumGoroutine() int

返回当前存在的goroutine数量。

3. type Func

type Func

type Func struct { // contains filtered or unexported fields }
func (*Func) Entry
func (f *Func) Entry() uintptr

返回函数的入口地址。

func (*Func) FileLine
func (f *Func) FileLine(pc uintptr) (file string, line int)

根据程序的入口地址pc,返回文件名及源代码行数。

func (*Func) Name
func (f *Func) Name() string

返回函数名。

4. type MemStats

type MemStats struct {
    // General statistics.
    Alloc      uint64 // bytes allocated and still in use
    TotalAlloc uint64 // bytes allocated (even if freed) Sys uint64 // bytes obtained from system (should be sum of XxxSys below) Lookups uint64 // number of pointer lookups Mallocs uint64 // number of mallocs Frees uint64 // number of frees // Main allocation heap statistics. HeapAlloc uint64 // bytes allocated and still in use HeapSys uint64 // bytes obtained from system HeapIdle uint64 // bytes in idle spans HeapInuse uint64 // bytes in non-idle span HeapReleased uint64 // bytes released to the OS HeapObjects uint64 // total number of allocated objects // Low-level fixed-size structure allocator statistics. // Inuse is bytes used now. // Sys is bytes obtained from system. StackInuse uint64 // bootstrap stacks StackSys uint64 MSpanInuse uint64 // mspan structures MSpanSys uint64 MCacheInuse uint64 // mcache structures MCacheSys uint64 BuckHashSys uint64 // profiling bucket hash table // Garbage collector statistics. NextGC uint64 // next run in HeapAlloc time (bytes) LastGC uint64 // last run in absolute time (ns) PauseTotalNs uint64 PauseNs [256]uint64 // circular buffer of recent GC pause times, most recent at [(NumGC+255)%256] NumGC uint32 EnableGC bool DebugGC bool // Per-size allocation statistics. // 61 is NumSizeClasses in the C code. BySize [61]struct { Size uint32 Mallocs uint64 Frees uint64 } } 

记录所统计的内存分配情况。

转载于:https://www.cnblogs.com/pyrene/p/8804461.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值