限制Go语言中的内存分配?

o4tp2gmn  于 2023-08-01  发布在  Go
关注(0)|答案(4)|浏览(95)

我正在寻找一种方法来限制Go语言中的内存使用。我用Go语言实现的应用程序有一个必须加载到主内存中的大数据,所以我想将进程的最大内存大小限制为用户指定的大小。
在C语言中,实际上,我积累了malloc'艾德内存的大小来做到这一点,但我不知道如何在Go语言中做同样的事情。
请让我知道是否有办法做到这一点。

  • 谢谢-谢谢
myzjeezk

myzjeezk1#

Go垃圾收集器不是确定性的,它是保守的。因此,使用runtime.MemStats变量对于您的目的来说是不准确的。
通过设置您将允许使用用户输入一次加载到进程中的最大数据大小,来修复您的大致内存使用情况。

disbfnqx

disbfnqx2#

也许你想把ulimit和你的go代码一起使用?

qzwqbdag

qzwqbdag3#

您可以通过运行时/调试来完成此操作。

fruv7luv

fruv7luv4#

除了runtime.MemStats,你还可以使用gosigar来监控系统内存。

相关问题