gpt4 book ai didi

go - 增加 GO 中的堆大小

转载 作者:IT王子 更新时间:2023-10-29 02:13:40 26 4
gpt4 key购买 nike

有没有办法指示 GO 运行时使用更大的堆?我正在运行 GO 1.5

我的 GO 进程目前在 GC 上花费了 34% 的时间,但它只使用了 1/3 的可用系统内存。

我知道 ulimit 可以用来限制最大堆大小。我已将 ulimit 设置为 ~16GB (ulimit -v 17179869184),但堆大小永远不会超过 5GB。

使用 GODEBUG=gctrace=1 我可以看到高 GC 开销 (34%):

20160719-220359.169294 :: gc 665 @5484.983s 34%: 3.3+2504+188+1635+8.0 ms clock, 26+2504+0+26950/3271/3.5+64 ms cpu, 4825->4964->2623 MB, 4948 MB goal, 8 P
20160719-220406.322354 :: gc 666 @5492.411s 34%: 2.9+212+2111+1749+8.3 ms clock, 23+212+0+25010/3496/146+67 ms cpu, 4846->4990->2657 MB, 4970 MB goal, 8 P
20160719-220413.703514 :: gc 667 @5499.452s 34%: 4.4+4411+0.021+0.25+8.4 ms clock, 35+4411+0+29365/0.054/38+67 ms cpu, 4908->5022->2618 MB, 5025 MB goal, 8 P

最佳答案

您可以使用 GOGC 环境变量来控制它。它是一个百分比:将它设置为 200,Go 运行时将使用两倍于以前的内存。

[这被埋在了评论中;我将其作为答案显示]

更新:https://github.com/golang/go/issues/23044 中有对不同技术的详细讨论。 ,包括提及“镇流器”技术。

关于go - 增加 GO 中的堆大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38469672/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com