国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux Swap交換空間詳解:Android編譯內存不足?這樣擴充立竿見影

jf_44130326 ? 來源:Linux1024 ? 作者:Linux1024 ? 2025-12-06 08:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Linux系統使用過程中,你是否遇到過內存不足的報錯?比如編譯Android源碼時,明明按教程操作,卻因物理內存沒達到16G要求而編譯中斷?這正是Swap交換空間不足在搞鬼。今天不僅要帶大家搞懂Swap的核心作用,還會結合Android源碼編譯的實戰場景,給出針對性的擴充方案,新手也能輕松上手~

一、什么是Swap?為什么非它不可?

1.通俗理解:內存的備用抽屜

如果把物理內存(RAM)比作電腦桌面”——常用文件隨手可及;那Swap交換空間就是抽屜:當桌面堆滿文件(物理內存占滿),系統會把暫時不用的文件(不活躍進程數據)放進抽屜,騰出桌面給急需的任務。

2.三大核心作用,缺一不可

?應急救急:物理內存耗盡時,Swap臨時承接數據,避免程序直接OOM(內存溢出)崩潰,比如Android源碼編譯這類高內存需求場景;

?支持休眠:系統休眠時,會把全部內存數據寫入Swap,喚醒時再讀回內存,沒有Swap就無法使用休眠功能;

?優化性能:長期運行的服務器中,Swap會緩存不常用進程,讓物理內存集中供給活躍程序,提升整體響應速度。

3.實戰場景:Android源碼編譯的內存門檻

Android源碼編譯是典型的高內存消耗場景——官方推薦物理內存≥16G,若你的Linux主機只有8G/12G物理內存,編譯過程中會頻繁出現以下報錯:

Outof memory: Killed process12345(cc1plus) total-vm:1234567kB, anon-rss:876543kB, file-rss:0kB, shmem-rss:0kB

或直接提示內存不足,編譯中斷。這時候無需更換硬件,通過擴充Swap物理內存+ Swap”的總可用內存提升到16G以上,就能順利完成編譯。

二、擴充Swap的兩種實用方法(附Android編譯場景適配)

在操作前,先搞清楚當前Swap狀態——這是后續操作的基礎。

2.1前提:檢查當前Swap狀態

打開終端,執行以下命令,查看Swap的大小、是否啟用:

# 方法1:簡潔查看(h=人性化單位)free -h# 方法2:詳細查看Swap設備/文件swapon --show# 方法3:查看Swap使用情況cat/proc/swaps

輸出示例(8G物理內存,無Swap時):

      total    used    free   shared buff/cache  availableMem:     7.7Gi   1.2Gi   5.3Gi   245Mi   1.2Gi   6.1GiSwap:      0B     0B     0B # 無Swap空間,編譯Android會報錯

2.2方法一:文件方式(推薦!Android編譯首選)

適合沒有空閑磁盤分區的場景,直接創建文件作為Swap,靈活調整大小,完美適配Android編譯的臨時高內存需求。

步驟1:創建適配Android編譯的Swap文件(關鍵!)

假設你的物理內存是8G,需要創建8G Swap文件(總可用內存達16G,滿足編譯要求),用fallocate命令快速創建:

# 創建8G的Swap文件(路徑/swapfile可自定義,大小根據物理內存調整)sudofallocate -l 8G /swapfile

如果系統提示fallocate:未找到命令,改用dd命令(速度稍慢,但兼容性強):

# bs=1G 每次寫入1G,count=8 共寫入8次,總計8G(Android編譯推薦大小)sudoddif=/dev/zero of=/swapfile bs=1G count=8

注意:若物理內存是12G,創建4G Swap即可(12+4=16G);物理內存6G則創建10G Swap6+10=16G),核心是讓物理內存+ Swap”≥16G

步驟2:設置安全權限(避免敏感數據泄露)

Swap文件包含系統和編譯過程中的敏感數據,必須設置為僅root可讀可寫:

sudochmod600 /swapfile
步驟3:格式化Swap文件(系統識別必備)

將創建的文件格式化為Swap格式,讓Linux系統能正常使用:

sudomkswap /swapfile

輸出提示Setting up swapspace version 1, size = 8 GiB表示成功。

步驟4:啟用新Swap文件(立即生效,無需重啟)

sudoswapon /swapfile
步驟5:設置開機自動掛載(編譯過程不中斷)

Android源碼編譯耗時久(可能數小時),若中途重啟,Swap會失效導致編譯中斷,需編輯/etc/fstab文件實現永久生效:

1.先備份fstab(防止改錯導致系統無法啟動):

sudocp/etc/fstab /etc/fstab.bak

1.編輯文件:

sudonano /etc/fstab

1.在文件末尾添加一行(復制粘貼即可):

/swapfile swap swap defaults 0 0

1.保存退出(nano編輯器按Ctrl+O回車Ctrl+X)。

步驟6:驗證是否滿足Android編譯要求

再次執行free -h,看到“Mem+Swap”≥16G即達標:

     total    used    free   shared buff/cache  availableMem:     7.7Gi   1.3Gi   5.2Gi   250Mi   1.2Gi   6.0GiSwap:     8.0Gi     0B   8.0Gi # 總可用內存達13.7Gi?不對!

補充說明:available是系統可分配給新進程的內存(含空閑內存+可釋放緩存),實際編譯時,系統會動態使用物理內存和Swap,只要“Swap +物理內存總量”≥16G,就能避免OOM報錯。

2.3方法二:分區方式(適合有空閑磁盤分區,性能更優)

如果你的硬盤有未分配的空閑分區(比如/dev/sda3,大小≥8G),可直接將分區設為Swap,讀寫速度比文件方式快,適合頻繁編譯Android源碼的場景。

簡要步驟:

1.查看空閑分區:sudo fdisk -l(找到標注free的分區,確保大小≥8G,如/dev/sda3);

2.格式化分區為Swapsudo mkswap /dev/sda3

3.啟用分區:sudo swapon /dev/sda3

4.永久生效:編輯/etc/fstab,添加/dev/sda3 swap swap defaults 0 0

5.驗證:free -h確認Swap大小≥8G,總內存達標。

三、Android編譯場景專屬注意事項(避坑必看)

1.Swap大小精準匹配

?核心原則:物理內存(RAM+ Swap ≥16GAndroid源碼編譯最低要求);

?示例:8G RAM→8G Swap12G RAM→4G Swap16G RAM→無需擴充(若編譯時仍卡頓,可加4-8G Swap)。

1.存儲介質優先選SSD

Android編譯過程中會頻繁讀寫Swap機械硬盤(HDD)速度慢,會導致編譯卡頓;SSD的讀寫速度是HDD的數倍,能大幅提升Swap響應速度,避免編譯耗時翻倍。

2.編譯時關閉其他高內存進程

擴充Swap后,盡量關閉瀏覽器、虛擬機等占用內存的程序,讓系統把物理內存和Swap集中供給編譯進程,進一步減少卡頓和報錯概率。

3.如何刪除無用Swap

若后續不再編譯Android源碼,可刪除Swap釋放磁盤空間:

# 臨時關閉Swapsudoswapoff /swapfile(或/dev/sda3)# 永久刪除:刪除/etc/fstab中的對應行,再刪除文件/分區sudorm/swapfile

四、總結

Swap交換空間是Linux系統的內存救星,尤其對于Android源碼編譯這類高內存需求場景,無需升級硬件,通過文件或分區方式擴充Swap,就能輕松突破內存限制。關鍵要記住:根據物理內存精準設置Swap大小(總內存≥16G),優先用SSD存儲,設置開機自動掛載避免編譯中斷。

按照本文步驟操作后,再執行Android源碼編譯命令,就能順利避開OOM報錯,讓編譯過程一路暢通~ 如果你在操作中遇到問題,歡迎在評論區留言交流!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Android
    +關注

    關注

    12

    文章

    3989

    瀏覽量

    133209
  • Linux
    +關注

    關注

    88

    文章

    11641

    瀏覽量

    218197
  • 編譯
    +關注

    關注

    0

    文章

    689

    瀏覽量

    34972
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    升級BIOS時提示內存不足怎么辦

    升級BIOS時提示內存不足怎么辦在升級Award BIOS 時出現提示"Insufficient memory ",我該怎么辦?答:該提示的含義是內存不足,主要是640K 常規
    發表于 03-30 14:01

    紅米顯示內存不足怎么處理

    手機上原來就安裝有QQ聊天軟件,現在一打開空間就顯示內存不足,有許多空間的圖片都不及時顯示。這不是壞,但是怎么處理呢。手機本身可以運行的空間就找1G。該怎么擴展呢。失眠了,看手機才想起
    發表于 03-09 02:12

    RAM內存不足錯誤

    遇到難題一、:RAM內存不足錯誤:一 、將UC/OS III移植到STM32F103C8T6的遇到內存不足的報錯。分析,c8t6系類RAM內存只有20KB。如上圖。在代碼中將heap_size設置成
    發表于 08-20 08:14

    HFSS軟件內存不足的解決方法

    HFSS軟件內存不足該如何解決?
    的頭像 發表于 07-15 10:15 ?2.4w次閱讀

    虛擬內存不足的原因

    電腦系統是WinXP,最近使用時,沒開多少程序,卻常常出現虛擬內存不足的系統提示。可能有以下幾個原因
    的頭像 發表于 03-14 14:25 ?3589次閱讀

    虛擬內存不足怎么解決

    電腦的虛擬內存不足以后,很多功能就無法使用了,且會彈出如下所示的頁面。這就說明虛擬內存無法滿足我們的使用需求,就需要咱們對電腦的虛擬內存進行重新設置。那么如何設置呢?請看下文。
    的頭像 發表于 03-14 14:29 ?1.4w次閱讀

    需要了解Linux swap分區的擴展

    LinuxSwap(即:交換分區),類似于Windows的虛擬內存,就是當內存不足的時候,把一部分硬盤
    發表于 05-15 08:51 ?1724次閱讀
    需要了解<b class='flag-5'>Linux</b> <b class='flag-5'>swap</b>分區的擴展

    嵌入式LinuxSwap交換區剖析

    時間沒有什么操作的程序,這些被釋放的空間被臨時保存到Swap空間中,等到那些程序要運行時,再從Swap中恢復保存的數據到內存中。
    發表于 04-02 14:36 ?1032次閱讀

    植保無人機在農業領域的應用立竿見影 對于農業生產的幫助成效卓著

    無人機出現在人們的視野中也有十幾年了,無人機應用也熱火朝天在各個行業中應用起來,公安系統,交通系統,監獄系統,環保系統,電力系統,水利系統解決方案層出不窮。然而,經過這些年的發展,植保無人機在農業領域的應用可以說是最見成效,對于農業生產的幫助是立竿見影,成效卓著。
    發表于 12-24 14:10 ?1608次閱讀

    手機內存不足的清理方法

    很多時候當我們拿起手機時,突然提示我們手機內存不足,無法安裝應用,部分功能受影響,手機最近頻頻提醒內存空間不足,隨著手機使用時間的延長,手機不可避免的越來越臃腫,手機運行速度也是一卡再卡。怎么辦?沒關系,又顯示
    發表于 05-20 09:49 ?1.1w次閱讀

    電腦和手機的內存不足怎么辦

    如果是電腦內存不足,可以通過任務管理器關閉部分應用程序,也可以在控制面板中調整虛擬內存的大小,還可以通過增加內存容量方式解決。如果是手機運行內存不足,可以一鍵關閉多任務。如果是手機存儲
    發表于 05-22 09:41 ?2297次閱讀

    虛擬內存不足的解決辦法

    虛擬內存就是當電腦物理內容不夠或者防止運行大型軟件時出現不夠,在系統盤,比如C盤中劃出一個區域,用來存儲交換數據,類似物理內存的功能,所以就叫虛擬內存。當出現虛擬
    發表于 05-27 10:19 ?3193次閱讀
    虛擬<b class='flag-5'>內存不足</b>的解決辦法

    電腦內存不足怎么解決win10

    電腦內存大家一定都知道吧,通常我們在用電腦的時候,當我們打開大型的網絡游戲和各種應用的軟件時,如果我們的電腦本身的內存不足,就會使游戲和大型的軟件打開失敗或者是終止。而且電腦內存不足會大大降低電腦
    發表于 06-12 10:31 ?1484次閱讀

    RAM內存不足的表現及解決方法

    RAM內存不足的表現及解決方法 一、RAM內存不足的表現 系統運行緩慢 當RAM內存不足時,計算機的響應速度會明顯下降,打開程序或文件需要更長的時間。 頻繁的頁面交換(Page Swa
    的頭像 發表于 11-11 09:53 ?7321次閱讀

    虛擬內存不足如何解決 虛擬內存和物理內存的區別

    虛擬內存不足的解決方案 虛擬內存不足是計算機用戶經常遇到的問題,尤其是在運行大型軟件或多任務處理時。以下是一些解決虛擬內存不足問題的方法: 增加物理內存(RAM) : 這是最直接的解決
    的頭像 發表于 12-04 09:14 ?2347次閱讀