今天修改了一下influx-relay,增加一个pprof的debug http 接口,跑起来后,对比了下系统统计的物理内存占用和通过 /debug/pprof/heap 接口获取的内存分配情况,发现两者差异很大。
如下是top工具展示的内存占用情况,为1.3g。
![image.png](https://static.studygolang.com/191010/64240eebc830060bda26519c8c1a30cd.png)
如下是 /proc/pid/status 中统计的VMRSS,也是1.3g。
![image.png](https://static.studygolang.com/191010/cfb1f327ab266a79a3b63cb96c7b7b28.png)
如下是通过 go tool pprof 获取的内存分配情况,总共就只有15M:
![image.png](https://static.studygolang.com/191010/9ad1159e4f788415e403ae5e4c54b749.png)
这是为什么呢,有没有大佬能指点一下。。
有疑问加站长微信联系(非本文作者)