golang的cpu内存性能监控调优
直接说可以生成cpu性能的
首先安装 graphviz
golang要用它来生成cpu性能图,把安装后根目录下的bin目录配置到环境变量里;
在代码里开启性能监控代码如下
package main
import (
"flag"
"gamelogic/logicFrame"
"net/http"
_ "net/http/pprof"
)
func main() {
defer func() {
if err := recover(); err != nil {
}
}()
config_path := flag.String("Config", "config.cfg", "config file path!")
flag.Parse()
go func() {
http.ListenAndServe("0.0.0.0:6060", nil)
}()
gamelogic := logicFrame.NewGameLogicServer(*config_path)
gamelogic.Start()
}
因为这里的框架有可能是http之上的websocket协议也可能是tcp或者udp协议,所以这里直接又开了一个http协议来进行性能监控
打开cmd命令生成cpu性能图
- go tool pprof http://192.168.124.18:6060/debug/pprof/profile #获取大概30秒的时间生成cpu使用的数据 然后进入交互式命令
- (pprof) web #直接输入web查看cpu性能的使用图