我正在构建服务器上编译AOSP 8.1.0源代码树。我用Ubuntu 16.04所需的所有软件包制作了一个docker映像。我在启动docker映像时挂载源代码树,ANDROID_OUT和ccache dir。这三个目录在docker中的路径是相同的:
来源:/home/builder/android_source/AOSP_8.1/
输出:/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)在docker中为
ccache -M 30G
。最大大小设置为30GB,行为保持不变。3)
ccache -C
-清除缓存,没有任何事情变得更好。我的ccache有什么问题?
最佳答案
由于某种奇怪的原因,这种情况是由于系统ccache和android ccache之间的某些不兼容性造成的。做完之后
ccache -M 50G
使用android来源目录中的ccache实用程序,一切正常。