Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 等效于TotalAlloc,具有新的运行时/度量接口_Go_Memory_Heap Memory - Fatal编程技术网

Go 等效于TotalAlloc,具有新的运行时/度量接口

Go 等效于TotalAlloc,具有新的运行时/度量接口,go,memory,heap-memory,Go,Memory,Heap Memory,Go 1.16推出了新的软件包 PackageMetrics提供了一个稳定的接口来访问Go运行时导出的实现定义的指标。该软件包类似于runtime.ReadMemStats和debug.ReadGCStats等现有函数,但更为通用 我正在移植一组旧的度量(其中使用了通过runtime.ReadMemStats(&memstats)读取的这两个值) runtime.mstats //MemStats记录有关内存分配器的统计信息。 类型MemStats struct{ //一般统计。 //Alloc

Go 1.16推出了新的软件包

PackageMetrics提供了一个稳定的接口来访问Go运行时导出的实现定义的指标。该软件包类似于runtime.ReadMemStats和debug.ReadGCStats等现有函数,但更为通用

我正在移植一组旧的度量(其中使用了通过
runtime.ReadMemStats(&memstats)
读取的这两个值)

runtime.mstats
//MemStats记录有关内存分配器的统计信息。
类型MemStats struct{
//一般统计。
//Alloc是已分配堆对象的字节数。
//
//这与HeapAlloc相同(见下文)。
Alloc uint64
//TotalAlloc是为堆对象分配的累积字节数。
//
//TotalAlloc随着堆对象的分配而增加,但
//与Alloc和HeapAlloc不同,当
//对象被释放。
TotalAlloc uint64
我认为
Alloc
大致相当于新的
/memory/classes/heap/objects:bytes
,但我不知道如何处理
TotalAlloc
。我看不到一个简单的方法来恢复这个值。而且:这有用吗?Go是一种垃圾收集语言,所以拥有一个累积堆值对他甚至都没有帮助ap片段分析

所以问题是:这仍然有用吗?如果有用,我如何用新的API取代旧的API来恢复它