go工具pprof -inuse_space比linux顶部显示的小得多

时间:2019-01-04 08:51:54

标签: go heap profile pprof

我的程序在后台运行。我使用linux top命令,它显示16g内存。但是,当我想使用go pprof -inuse_space来检查点时,我只给出200M。其他记忆会去哪里?

1 个答案:

答案 0 :(得分:0)

通常,在os中使用的内存(由顶部VIRT显示)大于pprof。原因之一是,堆大小>($ GOGC%+ 1)*(可达到的节点大小):https://blog.golang.org/go15gc时将发生gc。默认情况下,$ GOGC为100,这意味着内存大小将是pprof显示的堆大小的两倍。但是您似乎不在这种情况下。