【发布时间】:2019-05-30 19:58:45
【问题描述】:
我的程序在后台运行。我使用 linux top 命令,它显示16g 内存。但是当我想使用 go pprof -inuse_space 来检查点时,我只给出了200M。其他的记忆去哪儿了?
【问题讨论】:
-
“内存使用”在现代系统中是一个真正复杂的问题。简而言之:一切都很好,这里没有什么可担心的。这是两个不同的数字,它们不相关,但一切都很好。
-
顶部的哪一列?正如 Volker 指出的那样,内存使用很复杂,顶部向您显示的 每个进程的三列内存使用 就证明了这一点。我猜你看了
VIRT(这对于几乎所有进程来说都是巨大的)并且惊慌失措。看RES,更准确地描述了进程内存使用情况。 -
新数据是VIRT 42g RES 0.024t。当我使用go tool pprof -inuse_space localhost:2000/debug/pprof/heap时,它显示它只使用了156.75MB内存。我只是不知道记忆在哪里。
标签: go heap-memory profile pprof