Go pprof

作者: 晚歌歌 | 来源:发表于2024-10-11 14:57 被阅读0次

示例代码

package main

import (
    "log"
    "net/http"
    _ "net/http/pprof" // 导入 pprof 包
)

func main() {
    // 启动 HTTP 服务器
    go func() {
        log.Println("Starting pprof server on :6060")
        if err := http.ListenAndServe("localhost:6060", nil); err != nil {
            log.Fatalf("Failed to start pprof server: %v", err)
        }
    }()

    // 你的主程序逻辑
    log.Println("Main application is running...")
    select {} // 阻塞主 goroutine 以保持程序运行
}

生成分析文件

打开浏览器并访问以下 URL:
http://localhost:6060/debug/pprof/

image.png

CPU 分析: •http://localhost:6060/debug/pprof/profile:生成 CPU 分析文件。
内存分析: •http://localhost:6060/debug/pprof/heap:生成堆内存分析文件。
Goroutine 分析: •http://localhost:6060/debug/pprof/goroutine:生成 goroutine 分析文件。

通过命令行工具访问

go tool pprof profile


image.png

top:显示最耗 CPU 的函数
web:生成 SVG 图并打开浏览器查看调用图


image.png

相关文章

  • Go 调试

    Go的pprof使用 web服务器 import _"net/http/pprof" go func() { ...

  • golang内存分析工具

    go tool pprof http://localhost:6060/debug/pprof/heap 安装好g...

  • go学习笔记

    go build,go test,go tool pprof ,go tool cover。建议了解 -race ...

  • Go tooling, GC和grpc常用的命令

    Go tooling go tool pprof -web ~/x.profile go tool traceTh...

  • go语言监控(内部使用)

    一、pprof go test -c go_test.go$ ./main.test -test.bench=. ...

  • Go语言性能调优工具——pprof

    Go语言性能调优工具——pprof Go语言对性能要求比较高,所以内置了调优工具pprof,本文简单介绍下工具的使...

  • go pprof

    代码中: import_"net/http/pprof" gofunc(){http.ListenAndServe...

  • go pprof

    在计算机性能调试领域里,profiling 是指对应用程序的画像,画像就是应用程序使用 CPU 和内存的情况。 G...

  • 内存泄露

    内存泄露 实战 实战Go内存泄露 - Go语言实战 - SegmentFault 思否 总结 pprof工具 使用...

  • golang pprof

    go test -bench . -cpuprofile=cpu.outgo tool pprof cpu.out...

网友评论

      本文标题:Go pprof

      本文链接:https://www.haomeiwen.com/subject/xxggrjtx.html