减少bazel内存使用量

pan*_*ari 9 bazel

我在4 GB RAM的计算机上使用bazel(编译tensorflow项目).但是,Bazel没有考虑我的内存量,并且产生了太多的工作,导致我的机器交换并导致更长的构建时间.

我已经尝试通过我的以下行设置ram_utilization_factor标志~/.bazelrc

build --ram_utilization_factor 30
test --ram_utilization_factor 30
Run Code Online (Sandbox Code Playgroud)

但这没有帮助.这些因素如何被理解?我应该随便试一下其他人吗?

kri*_*ina 17

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

  • --host_jvm_args可用于通过设置-Xms和/或-Xmx(例如)bazel --host_jvm_args=-Xmx4g --host_jvm_args=-Xms512m build //foo:bar(docs)来设置JVM应使用多少内存.
  • --local_resources--ram_utilization_factor标志(docs)一起使用.
  • --jobs=10(或其他一些低数字,默认为200),例如bazel build --jobs=2 //foo:bar(docs).

请注意,这--host_jvm_args是一个启动选项,因此它位于command()之前,build并且--jobs是一个"普通"构建选项,因此它命令之后.

  • 感谢您的输入。除了手动将 `--jobs` 设置为某个较低的数字,我一开始想避免这样做。 (2认同)