英文:
How to Monitor data or Structs in memory in Go
问题
我想创建一个在内存中加载数据(可能是100万到200万个项目)的项目或包。我想监控这些数据,并知道这些数据是否在内存中,是否存在。在Java中,可以使用JMX(Java管理扩展)来实现,但在Golang中,我不知道如何做到这一点。
我希望在生产环境中实现这个功能,而不仅仅是在测试环境中。
任何帮助将不胜感激。
英文:
I want to create a project or package that loads data (maybe 1 or 2 million items) in memory. I want to monitor this data and know if this data is well on memory, exist or no. In Java this can be done with JMX (Java Management Extensions) but in Golang I do not know how do it.
I want to do this in a production environment, not just a testing environment.
Any help would be appreciated.
答案1
得分: 2
你可以使用os.GetUsage
来跟踪内存使用情况。然后,你可以使用statsd客户端或直接发送UDP消息来更新graphite(或者你喜欢的任何监控包)。
你可能会发现这篇文章Monitoring a Production Golang Server with Memstats很有帮助。
英文:
You can use os.GetUsage
to track memory usage. You can then either use a statsd client or direct UDP messages to update graphite (or whatever monitoring package you like).
You might also find this article Monitoring a Production Golang Server with Memstats helpful.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论