背景:
我做了什么:
distccmon-text
工具验证这一点。我可以在服务器上看到,distcc守护进程启动了8个线程,正在等待构建作业的到来。这是第一步。你可以看到下面的输出是肯定的。问题:
# --- /etc/distcc/hosts -----------------------
# See the "Hosts Specification" section of
# "man distcc" for the format of this file.
#
# By default, just test that it works in loopback mode.
# 127.0.0.1
172.24.26.208/8,cpp,lzo
localhost/0
根据distcc documentation,它应该为构建服务器提供更高的优先级,并将更低的优先级提供给localhost,因为它在列表的后面。此外,它应该为构建服务器提供8个作业,为localhost提供0个作业。但不,那不会发生。键入make -j8
后,它尝试做的是在localhost上启动4个线程,在远程上启动4个线程。不好。您可以从下图中看到。
time pump make CC="distcc gcc" CXX="distcc g++" -j8
不幸的是,泵模式与否,预处理恰好发生在localhost
上,正如您从上图所见。伤心。
注意:distcc
程序(我在此处列出的配置)在任何时候都不会抛出任何错误或警告,无论是在服务器上还是在客户端上。
版本:
(在有人建议之前 - “升级软件!”,新版本很可能不适合我。无论如何,这个版本的distcc提供了我需要的功能。而且,我可以升级服务器虚拟机但是会有编译器客户端和服务器之间的版本错误匹配。我无法升级的客户端。)
任何建议,关于如何改进此设置/(解决问题)的反馈都是最受欢迎的。
编辑:这些解决方案不起作用,我让答案避免别人再次提出建议
试试看