您可以使用go tool pprof
命令来分析CPU占用情况,并将其配置为每秒钟收集一次信息。以下是一个简单的示例:
import (
"log"
"net/http"
_ "net/http/pprof"
)
func main() {
go func() {
log.Println(http.ListenAndServe("localhost:6060", nil))
}()
// your code here
}
在上面的代码中,我们启动了一个HTTP服务器,绑定到本地主机的端口6060。通过访问http://localhost:6060/debug/pprof/profile
URL,可以获取CPU占用率数据。默认情况下,Profiling数据会在30秒后自动停止收集,但是您可以通过提供seconds=<n>
查询参数来更改此设置,例如:http://localhost:6060/debug/pprof/profile?seconds=10
。
还有其他一些有用的pprof工具命令,如go tool pprof -http=localhost:8080 <binary> <profile>
,它会将CPU占用率数据可视化为交互式Web UI,以便更轻松地进行分析和调试。