1 系統配置
桌上型電腦4核4線程 12G記憶體:設定vmware 記憶體8G cpu 1*4,
筆記本6核12線程 16G記憶體:設定vmware 記憶體12G cpu 1*6
2 添加交換分區
free -m
總計 已用 空閑 共享 緩沖/緩存 可用
記憶體: 7933 700 4531 3 2701 6935
交換: 2047 0 2047
新增加8G交換分區
su root 切換到root使用者
dd if=/dev/zero of=/home/swapfile bs=1M count=8192 建立交換分區的檔案
mkswap /home/swapfile 設定交換分區檔案,建立swap的檔案系統
swapon /home/swapfile 啟用swap檔案
設定開機啟動,在檔案/etc/fstab中添加
/home/swapfile swap swap defaults 0 0
2.1 RK3399-JD4-Android7.1\prebuilts\sdk\tools\jack-admin需要修改(16G記憶體以下應該都要改,我的VM配置設定12G都會報錯)實測,這時設定成Xmx4096m還會加快編譯速度
#JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -cp $LAUNCHER_JAR $LAUNCHER_NAME"
howard added
JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -Xmx4096m -cp $LAUNCHER_JAR $LAUNCHER_NAME"
3 再次測試
Free -m
總計 已用 空閑 共享 緩沖/緩存 可用
記憶體: 7933 708 126 3 7099 6928
交換: 10239 0 10239
4 重新開機測試
Free -m
總計 已用 空閑 共享 緩沖/緩存 可用
記憶體: 7933 646 6618 3 668 7027
交換: 10239 0 10239
對比編譯測試
1 254伺服器(12核20線程 64G) 17-20分鐘左右編譯完
2 14 伺服器 (4核4線程16G) 30-35分鐘編譯完
3 桌上型電腦Vmware(4核4線程 8G) 第一次clone下來後編譯145分鐘,第一次編譯VMware及pc主機會比較卡,後面再編譯就好很多了,第二次編譯花了55分鐘。
4 筆記本Vmware(系統配置:6核12線程 12G;vm配置設定每個處理器的核心數量配置設定為6,如果配置設定12,效果同6沒差別,還會加重cpu運作負荷,是以vm這裡配成核數會比較好;記憶體配置設定10G)編譯花了38分鐘,基本雙系統一點不卡,記憶體配置設定可提高到12G,編譯時間大概能減小6分鐘左右
[email protected]:~$ free
總計 已用 空閑 共享 緩沖/緩存 可用
記憶體: 10176432 2053196 4694576 7828 3428660 7804656
交換: 10485752 0 10485752
14 伺服器記憶體
[email protected]:~$ free
total used free shared buff/cache available
Mem: 16330964 648188 12101152 43740 3581624 15272820
Swap: 999420 0 999420
254 伺服器記憶體
[email protected]:~$ free
total used free shared buff/cache available
Mem: 65398968 11466332 33023216 3488 20909420 53227372
Swap: 8388604 0 8388604
實測,編譯android7.1記憶體配置需8G以上(最好16G以上)才能正常編譯,(小于8G可能會卡死,實測6G無法正常編譯),另需設定交換記憶體,交換記憶體應該增加1G就夠了,為防止記憶體不足,我增加到了8G.