我正在构建服务器上编译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实用程序,一切正常。

10-08 17:58