Debug 内存与性能问题

如果感觉到内存和性能上有问题,可以用 mosdns 内置的 pprof 工具进行分析。

自己分析

如果有相关知识和能力的话,可自行使用 pprof。

  1. 配置文件中填入 api.http 地址。启用 api 服务器。

  2. pprof 位于 http://<api_addr>/debug/pprof/

提交给开发者

如果发现内存和性能问题,将 pprof 数据提交给开发者可以帮助他们快速定位问题。下载数据的方式非常简单。

  • 确保配置文件中填入了 api.http 地址。mosdns 已启用 api 服务器。

  • 出现异常时 (比如 cpu 持续 100%,或者内存已爆炸),浏览器访问以下网址,下载采样数据。

# <api_addr> 替换成 api 服务器的地址。
# 内存采样数据
http://<api_addr>/debug/pprof/allocs
http://<api_addr>/debug/pprof/goroutine
http://<api_addr>/debug/pprof/heap

# CPU 采样,仅 CPU 占用异常时需要
http://<api_addr>/debug/pprof/profile?seconds=5
  • 将采样数据上传给开发者。

补充:

  • 采样数据仅包含程序代码层面运行次数统计(某行代码运行了多久,占用了多少内存),不是内存数据,不包含任何用户信息,可以随便分享。

Last updated