//GO语言实现实时监控内存占用 func main() { app, err := libbootstrap.Setup() if err != nil { log.Fatalln(err) } // 初始化本服务必须要初始化的全局内容 bootstrap.ServerMustInit(app.Ctx) // 注册接口路由 router.InitRouters(app.Router) go func() { var memStats runtime.MemStats for { runtime.ReadMemStats(&memStats) fmt.Printf("内存占用: %f M\n", float64(memStats.HeapSys)/(1024*1024)) runtime.ReadMemStats(&memStats) fmt.Printf("Alloc: %d, TotalAlloc: %d, Sys: %d, NumGC: %d\n", memStats.Alloc/(1024*1024), memStats.TotalAlloc/(1024*1024), memStats.Sys/(1024*1024), memStats.NumGC) time.Sleep(1 * time.Second) // 可以根据实际情况调整监控的间隔时间 time.Sleep(1 * time.Second) } }() app.Start() }
GO语言实现实时监控内存占用执行效果图
发表评论