首页 > 其他分享 >runtime包

runtime包

时间:2024-06-13 22:12:19浏览次数:22  
标签:uint64 返回 字节数 -- go runtime

目录

runtime包

返回Go的根目录--GOROOT

fmt.Println(runtime.GOROOT())      //返回Go的根目录

返回Go的版本--Version

fmt.Println(runtime.Version())     //返回Go的版本字符串

返回本地机器的逻辑CPU个数--NumCPU

fmt.Println(runtime.NumCPU())      //返回本地机器的逻辑CPU个数

设置可同时执行的最大CPU数--GOMAXPROCS

fmt.Println(runtime.GOMAXPROCS(5)) //设置可同时执行的最大CPU数

手动GC--GC

runtime.GC()                       //手动GC执行一次垃圾回收。

统计内存申请和分配信息--ReadMemStats

type MemStats struct {
    // 一般统计
    Alloc      uint64 // 已申请且仍在使用的字节数
    TotalAlloc uint64 // 已申请的总字节数(已释放的部分也算在内)
    Sys        uint64 // 从系统中获取的字节数(下面XxxSys之和)
    Lookups    uint64 // 指针查找的次数
    Mallocs    uint64 // 申请内存的次数
    Frees      uint64 // 释放内存的次数
    // 主分配堆统计
    HeapAlloc    uint64 // 已申请且仍在使用的字节数
    HeapSys      uint64 // 从系统中获取的字节数
    HeapIdle     uint64 // 闲置span中的字节数
    HeapInuse    uint64 // 非闲置span中的字节数
    HeapReleased uint64 // 释放到系统的字节数
    HeapObjects  uint64 // 已分配对象的总个数
    // L低层次、大小固定的结构体分配器统计,Inuse为正在使用的字节数,Sys为从系统获取的字节数
    StackInuse  uint64 // 引导程序的堆栈
    StackSys    uint64
    MSpanInuse  uint64 // mspan结构体
    MSpanSys    uint64
    MCacheInuse uint64 // mcache结构体
    MCacheSys   uint64
    BuckHashSys uint64 // profile桶散列表
    GCSys       uint64 // GC元数据
    OtherSys    uint64 // 其他系统申请
    // 垃圾收集器统计
    NextGC       uint64 // 会在HeapAlloc字段到达该值(字节数)时运行下次GC
    LastGC       uint64 // 上次运行的绝对时间(纳秒)
    PauseTotalNs uint64
    PauseNs      [256]uint64 // 近期GC暂停时间的循环缓冲,最近一次在[(NumGC+255)%256]
    NumGC        uint32
    EnableGC     bool
    DebugGC      bool
    // 每次申请的字节数的统计,61是C代码中的尺寸分级数
    BySize [61]struct {
        Size    uint32
        Mallocs uint64
        Frees   uint64
    }
}

m := runtime.MemStats{}
runtime.ReadMemStats(&m)
fmt.Println(m)

返回正在使用的字节数--InUseBytes

m := runtime.MemProfileRecord{}
fmt.Println(m.InUseBytes())         //返回正在使用的字节数

返回正在使用的对象数--InUseObjects

m := runtime.MemProfileRecord{}
fmt.Println(m.InUseObjects())       //返回正在使用的对象数

返回当前存在的Go协程数--NumGoroutine

fmt.Println(runtime.NumGoroutine()) //返回当前存在的Go协程数

终止调用它的go程--Goexit

runtime.Goexit()

Goexit终止调用它的go程。其它go程不会受影响。Goexit会在终止该go程前执行所有defer的函数。
在程序的main go程调用本函数,会终结该go程,而不会让main返回。因为main函数没有返回,程序会继续执行其它的go程。如果所有其它go程都退出了,程序就会崩溃。

标签:uint64,返回,字节数,--,go,runtime
From: https://www.cnblogs.com/guyouyin123/p/18246862

相关文章

  • 已解决Error || RuntimeError: size mismatch, m1: [32 x 100], m2: [500 x 10]
    已解决Error||RuntimeError:sizemismatch,m1:[32x100],m2:[500x10]原创作者:猫头虎作者微信号:Libin9iOak作者公众号:猫头虎技术团队更新日期:2024年6月6日博主猫头虎的技术世界......
  • 解决 发生异常: RuntimeError (note: full exception trace is shown but execu
    发生异常:RuntimeError(note:fullexceptiontraceisshownbutexecutionispausedat:<module>)Anattempthasbeenmadetostartanewprocessbeforethecurrentprocesshasfinisheditsbootstrappingphase.Thisproba......
  • 解决《鬼谷八荒》游戏启动问题:vcruntime140_1.dll错误的全面攻略
    在探索《鬼谷八荒》这一广受好评的修仙世界时,不少玩家可能会遇到一个恼人的障碍——“vcruntime140_1.dll无法继续执行代码”的错误提示。这个突如其来的技术难题无疑给原本期待沉浸于修仙之旅的玩家带来不小的困扰。不过,无需忧虑,本文将深入解析这一问题的根源,并提供一系列行之......
  • 记录ILRuntime使用过程中的一些坑
    这是一些网友的文章,仅供参考,还没验证现在的ILRT版本是否还存在:ILRuntime热更方案坑点-那一轮弯月~-博客园(cnblogs.com) 1.在热更工程里使用主工程声明的二维索引器,会出错,目前还没测试是传入的二维坐标变成其他数字,还是返回的时候变成其他,亦或者是中间函数出问题,该BUG......
  • mask -rcnn benchmark编译失败RuntimeError: Error compiling objects for extension(
    1.首先几步跟官网一样condacreate--namemaskrcnn_benchmarkpython==3.8(建议装3.8,好装pytorch)condaactivatemaskrcnn_benchmark#thisinstallstherightpipanddependenciesforthefreshpythoncondainstallipythonpip#maskrcnn_benchmarkandcocoa......
  • 2.2 Go运行时(runtime)
    2.2.1Go运行时(runtime)尽管Go编译器产生的是本地可执行代码,这些代码仍旧运行在Go的runtime(这部分的代码可以在runtime包中找到)当中。这个runtime类似Java和.NET语言所用到的虚拟机,它负责管理包括内存分配、垃圾回收(第10.8节)、栈处理、goroutine、channel、切片(sli......
  • vcruntime140.dll丢失如何安装,附找不到vcruntime140.dll的六种解决方法
    vcruntime140.dll是一个动态链接库文件,属于MicrosoftVisualC++RedistributablePackages的一部分,专为VisualStudio2015开发环境设计。它提供了C运行时库(CRT)中的一些关键功能,以及一些额外的Microsoft特定的运行时功能。这些功能包括但不限于内存分配与释放、数学计算、字符......
  • Ubuntu下的onnxruntime(c++)编译 转载文章 非原创
    仓库下载gitclone--depth=1--branchv1.12.1https://github.com.cnpmjs.org/microsoft/onnxruntime.git注意:需要更换国内镜像源编译GPU./build.sh--skip_tests--use_cuda--configRelease--build_shared_lib--parallel--cuda_home/usr/local/cuda-11.3--cudnn_home/u......
  • 在运行Yolov8时报错RuntimeError: torch.cat(): expected a non-empty list of Tensor
    这个错误还算是比较冷门当是又不是太容易发现,在报错出来的时候容易被最后面的提醒误解,我的报错提示如下:RuntimeErrorTraceback(mostrecentcalllast)InputIn[11],in<module>6model=YOLO('./yolov8.yaml').load('./yolov8n.pt......
  • 【APIM】Azure APIM抛出 java.lang.RuntimeException 错误定位
    问题描述AzureAPIM服务日志中发现java.lang.RuntimeException错误,在进一步通过ApplicationInsights采集的错误信息日志,发现真实的请求错误为:‘Theremotenamecouldnotberesolved'xxxx.xxx.xx'"。 问题解答APIM服务,在没有配置自定义的DNS服务器时,默认会使用Azure平......