我使用的是英特尔i7笔记本电脑,内存为16 an,固态硬盘。除了指定-j参数和启用CCACHE之外,我还可以使用其他技巧来加快AOSP的编译时间吗?目前是~2小时。
我发现对于我的CPU,-j12的性能是最好的。
发布于 2016-01-07 12:09:15
我有两个建议:
1.)将/tmp设置为内存磁盘
这里有一个很棒的链接,介绍如何在Ubuntu中将/tmp目录设置为内存磁盘
http://cpiekarski.com/2013/01/02/speeding-up-aosp-builds/
为系统临时目录(/tmp)内存磁盘牺牲几MB内存(~60MB)的
可以将编译时间减少约2%-10%,具体取决于系统总吞吐量(其他硬件规格)。
为此,您只需将以下内容添加到/etc/fstab文件中:
ramdisk /tmp tmpfs mode=1777,size=2g
其中大小等于您希望使用的ram的数量。在本例中为2 In
2.)交换使用情况
再一次链接:http://ubuntuguide.net/optimize-the-usage-of-swap-to-speed-up-response-for-ubuntu
有一个swap参数控制内核将进程移出物理内存并转移到交换磁盘的趋势。它的范围从0到100,当swappiness=0时,它告诉内核尽可能长时间地避免将进程换出物理内存;当swappiness=100时,它告诉内核积极地将进程换出物理内存,并将它们移到交换缓存中。
要检查您的交换因子,请打开终端并键入:
cat /proc/sys/vm/swappiness
使用以下命令将swappiness的值临时更改为10,下次重启时将恢复。
sudo sysctl vm.swappiness=10
要永久更改该值,请在文本编辑器中打开/etc/sysctl.conf并更改vm.swappiness的值。如果该值不存在,则将其添加到末尾,例如:
vm.swappiness=10
正如在其他帖子中提到的,make -j和CCache也非常重要和有帮助。有一个叫做调度工具的程序,用来调度CPU进程。他们声称它适用于长时间运行的非交互式任务(即AOSP构建),但我还没有尝试过。
欢呼与快乐建筑
发布于 2014-09-13 15:57:27
AOSP构建对我来说也需要大约2个小时,但只是第一次。下一次构建需要10分钟到1小时,这取决于修改了哪个模块(java
端或cpp
核心模块)。如果您不修改cpp
代码,那么编译器将占用缓存的编译代码,而编译java
代码则不会花费太多时间。
https://stackoverflow.com/questions/25790732
复制相似问题