我在4 GB RAM的计算机上使用bazel(编译tensorflow项目).但是,Bazel没有考虑我的内存量,并且产生了太多的工作,导致我的机器交换并导致更长的构建时间.
我已经尝试通过我的以下行设置ram_utilization_factor标志~/.bazelrc
build --ram_utilization_factor 30 test --ram_utilization_factor 30
但这没有帮助.这些因素如何被理解?我应该随便试一下其他人吗?
其他一些标志可能会有所帮助:
--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
是一个"普通"构建选项,因此它在命令之后.