Web服务器使用的实际内存。内存未发布到操作系统

时间:2017-06-20 16:08:35

标签: go memory-leaks heap-memory

我通过网络服务器推送了一堆请求,根据我的Mac上的Htop / activity monitor,Virt是530G,Res是247Mb。

内存似乎没有被释放到操作系统。我尝试添加以下强制内存作为测试返回操作系统无效:

func freeMem() {
    tick := time.Tick(time.Second * 10)

    for range tick {
        debug.FreeOSMemory()
    }
}

并在主页顶部调用go freeMem(),但这似乎没有效果。

所以我尝试检查垃圾收集器是否正常工作并使用dave cheney的gcvis进行可视化https://github.com/davecheney/gcvis

看起来像gcvis显示的东西工作正常和花花公子,但htop&活动监视器似乎是高内存使用率。

我有什么可担心的吗?我在gcvis中注意到的一件事是,当gc.heapinuse降到可接受的水平时,scvg.releasedscvg.sys似乎仍然很高。

gcvis output

htop & activity monitor

0 个答案:

没有答案