我在构建服务器上编译AOSP 8.1.0源代码树。我用Ubuntu 16.04所需的所有软件包制作了一个docker镜像。我在启动docker镜像时挂载了源树,ANDROID_OUT和ccache dir。 docker中这三个目录的路径是相同的:
来源:/home/builder/android_source/AOSP_8.1 /
Out:/home/builder/android_out/AOSP_8.1 /
ccache:/ home / builder / ccache /
问题是我不了解ccache的行为方式。
如果我在编译android时运行watch ccache -s
,我会看到类似的内容:
files in cache: 10365
cache size: 931.9MB
在这些值可以增加或减少之后的几秒钟。我已将最大缓存大小设置为30GB,ccache -s
告诉我这个正确的最大大小,但缓存大小永远不会超过1Gb。我在5次构建之后看到的最大尺寸大约是983MB。
我尝试了什么?
1)chown -R builder:builder ~/ccache/
2)ccache -M 30G
。最大大小设置为30GB,行为保持不变。
3)ccache -C
- 缓存清除,没有什么变得更好。
我的ccache有什么问题?
答案 0 :(得分:2)
如果有人仍然感兴趣,答案是:
机器人:
prebuilts / misc / linux-x86 / ccache / ccache -M 50GB
将50GB作为50 * 65536存储在你的/ 0到第15行的f / stats中。
羚:
/ usr / bin / ccache工具保存在您的手册中:
/ccache.conf(通常是/etc/ccache.conf或/usr/local/etc/ccache.conf)
或/ccache.conf(通常为$ HOME / .ccache / ccache.conf)
作为人类英文文本:
max_size = 50GB
所以每个工具都将它保存在不同的地方。但是android没有手册。
答案 1 :(得分:1)
由于一些奇怪的原因,这种情况是由于系统ccache和android ccache之间的一些不兼容。做完
ccache -M 50G
来自android sources目录的ccache实用程序一切正常。