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

最佳答案

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

关于go - go工具pprof -inuse_space比linux顶部显示的小得多,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54035670/

10-11 18:45