我的程序在后台运行。我使用linux top命令,它显示16g
内存。但是,当我想使用go pprof -inuse_space
来检查点时,我只给出200M
。其他记忆会去哪里?
答案 0 :(得分:0)
通常,在os中使用的内存(由顶部VIRT显示)大于pprof。原因之一是,堆大小>($ GOGC%+ 1)*(可达到的节点大小):https://blog.golang.org/go15gc时将发生gc。默认情况下,$ GOGC为100,这意味着内存大小将是pprof显示的堆大小的两倍。但是您似乎不在这种情况下。