- 主题:pprof为什么看不到所有的内存信息?
go程序在k8s中使用了300多M,但是pprof只能看到几十M的内存使用,这是为什么?我怎么才能看到所有的内存使用信息,像pprof那样明确到函数的使用信息?
--
FROM 47.243.123.*
申请了300m,但是实际使用了几十兆?
【 在 lichehuo 的大作中提到: 】
: go程序在k8s中使用了300多M,但是pprof只能看到几十M的内存使用,这是为什么?我怎么才能看到所有的内存使用信息,像pprof那样明确到函数的使用信息?
--
FROM 124.64.16.*
【 在 gfkid 的大作中提到: 】
: 申请了300m,但是实际使用了几十兆?
现象确实是这样,现在发现可能和日志打印有关,container里面日志问题,我把日志的console设置成false,目前看上去ok了。稳定在150M左右。但是根本原因不知道,因为console里面并没有输出什么东西
--
FROM 47.243.123.*
问题还是没找到,但发现了更多的信息:1.非日志问题,日志挂载出来,console设置成false之后,问题依旧。2.在我们的dev环境和sit内存增长的特别快,在其他环境表现的正常。3.环境之间的差异有k8s版本不一样,dev/sit版本低;4.用二进制在dev环境跑,内存使用即使M,几乎不增长。
--
FROM 103.135.249.*
【 在 lichehuo 的大作中提到: 】
: 问题还是没找到,但发现了更多的信息:1.非日志问题,日志挂载出来,console设置成false之后,问题依旧。2.在我们的dev环境和sit内存增长的特别快,在其他环境表现的正常。3.环境之间的差异有k8s版本不一样,dev/sit版本低;4.用二进制在dev环境跑,内存使用即使M,几乎不增长。
有理由怀疑是k8s版本导致的
--
FROM 103.135.249.*
丢人了,是自己代码的问题,一开始是每30秒从db加载数据放在内存中,数组append的时候忘记判断,导致一直累加,后面看代码看到append的时候突然发现的,
--
FROM 103.135.248.*