前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用pprof发现Go目标服务器的内存泄漏

利用pprof发现Go目标服务器的内存泄漏

作者头像
洛米唯熊
发布2022-10-27 10:45:06
2.4K0
发布2022-10-27 10:45:06
举报
文章被收录于专栏:洛米唯熊洛米唯熊

一、前言

Go语言是一个神奇的语言。

但是我不会,我连开机都不会,Go是什么

Go to it!

这个页面上是不是很熟悉,你们在渗透扫目标的时候是不是也遇到过。

pprof是一个用于Go开发时对收集的数据分析和可视化工具

它能收集信息,也能被我们利用!

首先要知道一些默认的功能

代码语言:javascript
复制
cpu(CPU Profiling): $HOST/debug/pprof/profile
默认进行 30s 的 CPU Profiling,
得到一个分析用的 profile 文件

获取到CPU Profiling 文件

代码语言:javascript
复制
$HOST/debug/pprof/threadcreate
得到一个分析用的 新OS线程的堆栈跟踪

可以查看创建新OS线程的堆栈跟踪

当然 我要这乱码有何用

你们可以看下我的笔记

对应的文件名称解析

二、获取交互的利用

利用自己的服务器安装Go环境

Let's Go! 的那个Go

再利用以下命令

代码语言:javascript
复制
go tool pprof https://(host)/debug/pprof/profile?seconds=60

它默认是30秒的

我们可以改成60秒来查看更多的信息

执行以上的命令的后

会出现以下字样

(pprof)

相当于shell的交互式

我们可以执行

top10

查看最前面的10个CPU运行信息

(看不清的,放大图片看)

继续

代码语言:javascript
复制
go tool pprof https://(host)/debug/pprof/heap

照上面的笔记

heap 是获取内存的信息

执行以上的命令的后

会出现以下字样

(pprof)

相当于shell的交互式

(上面说过了)执行

o

(字母小o)

看上面的图

就可以获取配置信息

再利用top命令

可以看到在运行的内存信息

其他的功能点

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 洛米唯熊 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档