如何在Go中监视内存中的数据或结构

时间:2014-04-14 19:51:19

标签: go

我想创建一个在内存中加载数据(可能是1或2百万个项目)的项目或包。我想监视这些数据,并知道这些数据是否在内存上,是否存在。在Java中,可以使用JMX(Java Management Extensions)完成,但在Golang中我不知道它是如何做的。

我想在生产环境中执行此操作,而不仅仅是测试环境。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

您可以使用os.GetUsage来跟踪内存使用情况。然后,您可以使用statsd客户端或直接UDP消息来更新石墨(或任何您喜欢的监控包)。

您可能还会发现这篇文章Monitoring a Production Golang Server with Memstats很有帮助。