减少Bazel内存使用量使用量、内存、Bazel

2023-09-03 11:54:58 作者:待我强大吃遍天下

我在一台具有4 GB RAM的计算机上使用Bazel(以编译TensorFlow项目)。然而,Bazel没有考虑我拥有的内存量,并且产生了太多的作业,导致我的机器交换,并导致更长的构建时间。

我已尝试通过我的~/.bazelrc

中的以下行设置the ram_utilization_factor flag
build --ram_utilization_factor 30
test --ram_utilization_factor 30
Bazel简介 编译一个C 工程

但这并没有帮助。无论如何,如何理解这些因素呢?我应该随机试一下其他的吗?

推荐答案

其他一些可能有帮助的标志:

--host_jvm_args可以通过设置-Xms和/或-Xmx来设置JVM应该使用多少内存,例如bazel --host_jvm_args=-Xmx4g --host_jvm_args=-Xms512m build //foo:bar(docs)。 --local_resources--ram_utilization_factor标志(docs)。 --jobs=10(或其他较小的数字,默认为200),例如bazel build --jobs=2 //foo:bar(docs)。

请注意,--host_jvm_args是启动选项,因此它位于命令(build)之前,--jobs是"普通"生成选项,因此它位于命令之后。