gpt4 book ai didi

linux - 如何降低在 Linux 上运行的 Go 进程的占用空间?

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

我想在内存非常有限的设备上执行使用 Go 编写的“Hello world”程序。

在 Linux 上运行时,当前内存占用量似乎非常高(hello world 的 VM 大小为 64MB,VM 数据为 40MB)。

如何配置 Go 运行时环境以使用更少的内存?

最佳答案

请注意,名称中包含“虚拟”的内存使用指标无法进行分析,因为它们如前所述是虚拟的。

Go 的运行时(对于由 gc 工具链构建的二进制文件,gccgo 可能使用它自己的分配方法——我不确定)在 Linux 上使用 so -叫"arena allocator"它在启动时告诉操作系统它想要“拥有”一个相当大的内存区域,操作系统承认这一点但没有真正分配内存(没有物理内存页面,也就是说),真正的分配只发生在进程 < em>真的需要内存。

因此,唯一要分析的合理内存参数是 RSS——Resident Set Size,它是映射到进程地址空间的物理内存量——它物理上的内存 分配和拥有——与虚拟统计相反。参见 this一个很好的解释和浏览 this一般而言。

关于linux - 如何降低在 Linux 上运行的 Go 进程的占用空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23405510/

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