go - go tool pprof -inuse_space 比 linux top 显示小很多
问题描述
我的程序在后台运行。我使用 linux top 命令,它显示16g
内存。但是当我想使用 gopprof -inuse_space
检查点时,我只给出200M
. 其他的记忆去哪儿了?
解决方案
一般来说,os中使用的内存(顶部VIRT所示)比pprof大。一个原因是当堆大小 > ($GOGC% + 1) * (可达节点大小) 时会发生 gc:https ://blog.golang.org/go15gc 。默认情况下,$GOGC 为 100,这意味着内存大小将是 pprof 显示的堆大小的两倍。但你似乎不在这种情况下。
推荐阅读
- php - 如何使用 socket.io 与后端 php websocket 反应本机客户端?
- c - 我认为下面的程序应该至少运行一次,因为条件为真,或者我弄错了。请赐教
- python - 将系列转换为 numpy 数组并将其与不同维度的数组连接起来
- 3d - Monogame + HLSL 鱼眼顶点着色器
- jenkins - 从 Jenkins 多分支管道中的初始克隆中读取
- python - Python matplotlib 格式
- javascript - 反应下拉不会在固定 div 中打开选项
- r - R在多汇总函数中,分位数未正确显示结果
- git - 将提交从一个分支移动到另一个分支作为更改的步骤
- c++ - 在向量中添加类的实例