Ubuntu 16G內(nèi)存在android系統(tǒng)oom 10-13編譯 framework內(nèi)存不足

hi粉絲朋友們:
在android高版本編譯時(shí)候經(jīng)常會(huì)遇到framework一個(gè)相關(guān)任務(wù)編譯時(shí)候經(jīng)常把內(nèi)存吃滿:
//frameworks/base:system-api-stubs-docs-non-updatable metalava merged?
導(dǎo)致oom即內(nèi)存不足這種,那么怎么解決呢在不加內(nèi)存條情況下
## 1、官方建議方法減少編譯線程
22:42:20 ************************************************************
22:42:20 You are building on a machine with 15.5GB of RAM
22:42:20?
22:42:20 The minimum required amount of free memory is around 16GB,
22:42:20 and even with that, some configurations may not work.
22:42:20?
22:42:20 If you run into segfaults or other errors, try reducing your
22:42:20 -j value.
22:42:20 ************************************************************
所以這個(gè)時(shí)候你就把:make? 變成 make -j 1 (-j 1代表只用一個(gè)線程編譯,太慢了,所以一般是耗內(nèi)存打的報(bào)錯(cuò)那個(gè)任務(wù)編譯完成后,你再停止重新make 默認(rèn)線程數(shù))
## 2、增加swap內(nèi)存,通過增加虛擬內(nèi)存的方法擴(kuò)大內(nèi)存
swap是啥大家自己百度哈,大概就是用電腦硬盤當(dāng)內(nèi)存用
2.1、創(chuàng)建文件
dd if=/dev/zero of=/var/swap bs=1M count=10240
of:文件的保存路徑
bs=1M count=10240:文件的大小為1MB*10240 = 10GB
創(chuàng)建的時(shí)間可能會(huì)久一點(diǎn),大概一兩分鐘。
2.2、將文件格式化為swap文件
mkswap /var/sawp
2.3、掛載swap文件
swapon /var/swap
這樣,虛擬內(nèi)存就擴(kuò)充好了,可以通過命令查看服務(wù)器的內(nèi)存情況:
free -m
系統(tǒng)重啟,則需要重新掛載swap文件
想要永久:
vim /etc/fstab
最末尾加入如下:
/var/swap? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?none? ? ? ? ? ? swap? ? sw? ? ? ? ? ? ? 0? ? ? ?0