我的程序在后台运行。我使用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/