2

我正在构建服务器上编译 AOSP 8.1.0 源代码树。我用 Ubuntu 16.04 所需的所有软件包制作了一个 docker 映像。我在启动 docker 映像时挂载了源代码树、ANDROID_OUT 和 ccache 目录。这三个目录在docker中的路径是一样的:

来源:/home/builder/android_source/AOSP_8.1/

输出:/home/builder/android_out/AOSP_8.1/

ccache: /home/builder/ccache/

问题是我不明白 ccache 的行为方式。如果我watch ccache -s在编译 android 时正在运行,我会看到如下内容:

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 有什么问题?

4

2 回答 2

5

出于某种奇怪的原因,这种情况是由于系统 ccache 和 android ccache 之间的某些不兼容造成的。做完之后

ccache -M 50G

使用 android 源目录中的 ccache 实用程序,一切正常。

于 2018-02-28T12:25:38.373 回答
5

如果有人仍然感兴趣,答案是这样的:

Android:
prebuilts/misc/linux-x86/ccache/ccache -M 50GB 将 50GB 作为 50*65536 存储在第 15 行的 /0 到 f/stats 中。

Gnu:
/usr/bin/ccache 工具按照手册中的说明保存在您的:/ccache.conf(通常是 /etc/ccache.conf 或 /usr/local/etc/ccache.conf)或 /ccache.conf(通常是 $ HOME/.ccache/ccache.conf)作为人类英文文本:max_size = 50GB

所以每个工具都把它放在不同的地方。但是安卓没有说明书。

于 2018-03-11T22:40:50.357 回答