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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux下擴(kuò)充Swap交換空間:解決內(nèi)存不足的實(shí)用指南,這些影響要注意!

jf_44130326 ? 來(lái)源:Linux1024 ? 2026-02-09 16:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大家在使用Linux系統(tǒng)(比如常用的Ubuntu)時(shí),是不是偶爾會(huì)遇到內(nèi)存不足的彈窗?比如運(yùn)行大型編譯任務(wù)、多開(kāi)虛擬機(jī)、做數(shù)據(jù)分析,或者把Linux當(dāng)服務(wù)器用的時(shí)候,物理內(nèi)存一旦告急,系統(tǒng)就會(huì)卡頓甚至崩潰。這時(shí)候,Swap交換空間就成了救場(chǎng)神器

今天就帶大家全面搞懂Swap:它是什么、什么時(shí)候需要擴(kuò)充、擴(kuò)充后對(duì)堆內(nèi)存和存儲(chǔ)速率有啥影響,最后附上一步到位的Ubuntu擴(kuò)充教程,新手也能跟著做!

wKgZPGkaiwuAb3N7AAAG6CSGfhs839.png

一、先搞懂:Swap交換空間到底是什么?

簡(jiǎn)單說(shuō),Swap就像Linux虛擬內(nèi)存,和Windows的虛擬內(nèi)存原理類(lèi)似——當(dāng)物理內(nèi)存(就是你電腦里插的內(nèi)存條)不夠用的時(shí)候,系統(tǒng)會(huì)把內(nèi)存中暫時(shí)用不上的數(shù)據(jù),臨時(shí)存到硬盤(pán)(或SSD)的Swap分區(qū)/文件里,騰出物理內(nèi)存給急需的程序使用。

比如Ubuntu系統(tǒng)默認(rèn)的Swap大小通常是2G,如果你物理內(nèi)存是8G,運(yùn)行一個(gè)占10G內(nèi)存的程序,這時(shí)候Swap就會(huì)接手剩下的2G,避免程序直接崩潰。

二、這些場(chǎng)景下,一定要擴(kuò)充Swap

不是所有情況都需要擴(kuò)充Swap,關(guān)鍵看你的使用場(chǎng)景和系統(tǒng)狀態(tài)。以下3種情況,建議立刻檢查并擴(kuò)充Swap

1.物理內(nèi)存不足,頻繁觸發(fā)內(nèi)存告警

?比如物理內(nèi)存8G,卻要運(yùn)行占12G內(nèi)存的大型軟件(如MatlabDocker容器集群、視頻渲染工具);

?多任務(wù)并發(fā)時(shí)(比如開(kāi)著代碼編輯器、瀏覽器、虛擬機(jī)、數(shù)據(jù)庫(kù)),系統(tǒng)卡頓明顯,用free -h命令查看時(shí),可用內(nèi)存接近0Swap卻已經(jīng)占滿(mǎn)。

2.服務(wù)器長(zhǎng)期高負(fù)載運(yùn)行

如果把Linux當(dāng)服務(wù)器(比如Web服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器),長(zhǎng)期有大量進(jìn)程在后臺(tái)運(yùn)行,即使物理內(nèi)存暫時(shí)夠用,也建議擴(kuò)充Swap——避免突發(fā)流量(比如瞬間大量用戶(hù)訪問(wèn))導(dǎo)致內(nèi)存峰值超負(fù)載,從而保證服務(wù)穩(wěn)定。

3.低內(nèi)存設(shè)備的續(xù)命需求

比如樹(shù)莓派嵌入式Linux設(shè)備(物理內(nèi)存可能只有2G/4G),運(yùn)行輕量級(jí)服務(wù)器或邊緣計(jì)算任務(wù)時(shí),2G默認(rèn)Swap不夠用,擴(kuò)充后能顯著減少內(nèi)存溢出風(fēng)險(xiǎn)。

三、擴(kuò)充Swap對(duì)堆內(nèi)存的影響:有幫助但也有

首先得明確:堆內(nèi)存是程序運(yùn)行時(shí)動(dòng)態(tài)申請(qǐng)的內(nèi)存空間(比如JavaJVM堆、C++new申請(qǐng)的內(nèi)存),是程序干活的核心內(nèi)存區(qū)域。Swap和堆內(nèi)存的關(guān)系很緊密,擴(kuò)充后影響主要有兩點(diǎn):

1.正面影響:避免堆內(nèi)存溢出崩潰

當(dāng)程序申請(qǐng)的堆內(nèi)存超過(guò)物理內(nèi)存上限時(shí),系統(tǒng)會(huì)把堆內(nèi)存中暫時(shí)閑置的數(shù)據(jù)(比如很久沒(méi)調(diào)用的變量、緩存數(shù)據(jù))轉(zhuǎn)移到Swap中,釋放物理內(nèi)存給新的堆內(nèi)存申請(qǐng)。

舉個(gè)例子:你運(yùn)行一個(gè)Java程序,JVM堆設(shè)置為10G,而物理內(nèi)存只有8G。如果沒(méi)有Swap,程序會(huì)直接報(bào)“OOM(內(nèi)存溢出)錯(cuò)誤;有了8G Swap后,系統(tǒng)會(huì)把堆中暫時(shí)不用的2G數(shù)據(jù)存到Swap,程序能正常運(yùn)行。

2.負(fù)面影響:堆內(nèi)存交換頻繁會(huì)變慢

如果堆內(nèi)存數(shù)據(jù)需要頻繁在物理內(nèi)存“Swap”之間切換(行業(yè)里叫內(nèi)存顛簸),程序響應(yīng)會(huì)明顯變慢。因?yàn)橛脖P(pán)/ SSD的讀寫(xiě)速度,比物理內(nèi)存慢了幾個(gè)數(shù)量級(jí)(物理內(nèi)存是GB/s級(jí),機(jī)械硬盤(pán)是MB/s級(jí),即使是SSD也差10倍以上)。

比如你寫(xiě)的程序頻繁申請(qǐng)和釋放堆內(nèi)存,且數(shù)據(jù)量接近物理內(nèi)存上限,Swap會(huì)反復(fù)/堆數(shù)據(jù),此時(shí)你會(huì)發(fā)現(xiàn)程序卡頓、CPU占用率飆升(因?yàn)?/span>CPU要等數(shù)據(jù)交換完成)。

四、對(duì)存儲(chǔ)速率的影響:別忽視硬盤(pán)IO的壓力

Swap本質(zhì)是用硬盤(pán)空間當(dāng)內(nèi)存,所以它的讀寫(xiě)速度完全依賴(lài)你的存儲(chǔ)設(shè)備,同時(shí)也會(huì)占用存儲(chǔ)設(shè)備的IO資源,影響其他操作:

1.不同存儲(chǔ)介質(zhì),影響天差地別

存儲(chǔ)類(lèi)型

Swap讀寫(xiě)速度

對(duì)系統(tǒng)的影響

機(jī)械硬盤(pán)(HDD

慢(約50-150MB/s

嚴(yán)重占用硬盤(pán)IO,同時(shí)做文件拷貝、安裝軟件會(huì)卡頓,甚至系統(tǒng)整體響應(yīng)變慢

固態(tài)硬盤(pán)(SSD

較快(約500-2000MB/s

影響比HDD小,但頻繁讀寫(xiě)Swap會(huì)消耗SSD擦寫(xiě)壽命SSD有固定擦寫(xiě)次數(shù))

nvme固態(tài)硬盤(pán)

很快(約3000-7000MB/s

影響最小,接近物理內(nèi)存速度,適合作為Swap存儲(chǔ)介質(zhì)

2. Swap使用率過(guò)高,整個(gè)系統(tǒng)會(huì)卡殼

如果Swap使用率超過(guò)50%,且持續(xù)上升,說(shuō)明物理內(nèi)存已經(jīng)嚴(yán)重不足,系統(tǒng)大部分時(shí)間都在搬數(shù)據(jù)(把物理內(nèi)存數(shù)據(jù)寫(xiě)到Swap,再把Swap數(shù)據(jù)讀回物理內(nèi)存),此時(shí):

?打開(kāi)文件、切換軟件要等很久;

?命令行輸入指令,回車(chē)后要延遲幾秒才響應(yīng);

?甚至鼠標(biāo)光標(biāo)都會(huì)卡頓跳幀

五、實(shí)戰(zhàn):Ubuntu下擴(kuò)充Swap7步詳細(xì)教程

Ubuntu系統(tǒng)為例,從查看當(dāng)前Swap”開(kāi)機(jī)自動(dòng)生效,每一步都有具體命令和示例,新手也能跟著做(其他Linux發(fā)行版步驟類(lèi)似,命令通用)。

前置準(zhǔn)備

?確保系統(tǒng)有足夠的硬盤(pán)/ SSD空間(比如要擴(kuò)到8G,就需要至少8G空閑空間);

?sudo權(quán)限操作(需要管理員密碼)。

步驟1:查看當(dāng)前Swap大小

先執(zhí)行free -h命令,查看當(dāng)前Swap的總大小和使用情況(-h表示人類(lèi)可讀格式,用GB/MB顯示,更直觀):

free-h

執(zhí)行后會(huì)看到類(lèi)似輸出:

       總計(jì)    已用    空閑   共享 緩沖/緩存  可用內(nèi)存:   19Gi   1.2Gi   5.9Gi   3.0Mi   12Gi   17Gi交換:   2.0Gi    0B   2.0Gi

能看到默認(rèn)Swap2G,這時(shí)候如果要擴(kuò)到8G,繼續(xù)下一步。

步驟2:先關(guān)閉現(xiàn)有Swap

擴(kuò)充前必須關(guān)閉當(dāng)前的Swap(避免數(shù)據(jù)沖突),執(zhí)行命令:

sudo swapoff -a

輸入管理員密碼后,再用free -h驗(yàn)證,會(huì)發(fā)現(xiàn)交換那一行的總計(jì)變成0,說(shuō)明關(guān)閉成功:

交換:     0B     0B     0B

步驟3:創(chuàng)建新的Swap文件

dd命令創(chuàng)建一個(gè)指定大小的Swap文件(這里以擴(kuò)到8G為例),命令如下:

sudoddif=/dev/zero of=/swapfile bs=1G count=8

?解釋一下參數(shù):

?if=/dev/zero:從零設(shè)備讀取數(shù)據(jù)(用來(lái)生成空白文件);

?of=/swapfile:把生成的文件保存到根目錄,命名為swapfile

?bs=1G:每次讀寫(xiě)的塊大小1G

?count=8:讀取8次塊,總大小= 1G×8=8G(想擴(kuò)到16G就把count改成16)。

執(zhí)行后會(huì)看到類(lèi)似輸出,說(shuō)明文件創(chuàng)建成功:

記錄了8+0的讀入記錄了8+0的寫(xiě)出8589934592字節(jié)(8.6GB,8.0GiB)已復(fù)制,7.04727秒,1.2GB/s

步驟4:設(shè)置Swap文件權(quán)限(關(guān)鍵!)

為了安全,必須把Swap文件的權(quán)限設(shè)為600——只有root用戶(hù)能讀寫(xiě),其他用戶(hù)沒(méi)有權(quán)限(防止誤修改或篡改),命令:

sudochmod600 /swapfile

執(zhí)行后沒(méi)有輸出,說(shuō)明權(quán)限設(shè)置成功。

步驟5:格式化Swap文件

把剛才創(chuàng)建的空白文件格式化為“Swap格式,讓系統(tǒng)能識(shí)別為交換空間,命令:

sudo mkswap /swapfile

執(zhí)行后會(huì)看到類(lèi)似輸出,包含SwapUUID(不用管UUID,知道成功就行):

正在設(shè)置交換空間版本1,大小=8GiB(8589930496 個(gè)字節(jié))無(wú)標(biāo)簽,UUID=C27ae28e-a3ea-47fa-ad81-7f4bc779fa8e

步驟6:?jiǎn)⒂眯碌?/span>Swap

格式化后,啟用這個(gè)新的Swap文件,命令:

sudo swapon /swapfile

再用free -h驗(yàn)證,會(huì)發(fā)現(xiàn)交換的總計(jì)變成8G,說(shuō)明啟用成功:

交換:   8.0Gi    0B   8.0Gi

步驟7:配置開(kāi)機(jī)自啟(避免重啟后失效)

默認(rèn)情況下,重啟系統(tǒng)后新的Swap會(huì)失效,所以要把Swap文件添加到/etc/fstab配置文件中,讓系統(tǒng)開(kāi)機(jī)自動(dòng)加載。

1.用文本編輯器打開(kāi)/etc/fstab

sudo nano /etc/fstab

1.在文件末尾添加一行(復(fù)制粘貼即可,注意不要寫(xiě)錯(cuò)):

/swapfile none swap sw 0 0

1.保存退出:按Ctrl+O(字母O),再按回車(chē)確認(rèn),最后按Ctrl+X退出編輯器。

這樣重啟系統(tǒng)后,Swap還是8G,不會(huì)失效。

六、這些注意事項(xiàng),新手一定要避開(kāi)!

1.Swap大小不是越大越好

一般建議Swap大小是物理內(nèi)存的1-2倍(比如物理內(nèi)存16GSwap設(shè)16-32G);但如果是SSD,不建議超過(guò)物理內(nèi)存(避免頻繁讀寫(xiě)消耗SSD壽命)。

2.Swap文件別放錯(cuò)位置

盡量把Swap文件放在空閑空間充足的分區(qū),優(yōu)先選SSD(速度快),別放在機(jī)械硬盤(pán)的系統(tǒng)分區(qū)(會(huì)拖慢系統(tǒng))。

3.關(guān)閉Swap要謹(jǐn)慎

如果系統(tǒng)正在高負(fù)載運(yùn)行(比如有程序在用Swap),突然執(zhí)行swapoff -a會(huì)導(dǎo)致程序崩潰,建議在系統(tǒng)空閑時(shí)操作。

4.定期檢查Swap使用情況

htopfree -h定期查看Swap使用率,如果長(zhǎng)期超過(guò)50%,說(shuō)明物理內(nèi)存真的不夠用,建議升級(jí)內(nèi)存條(Swap只是應(yīng)急,不能替代物理內(nèi)存)。

最后

SwapLinux系統(tǒng)的內(nèi)存緩沖墊,合理擴(kuò)充能解決很多內(nèi)存不足的問(wèn)題,但也要注意它對(duì)堆內(nèi)存和存儲(chǔ)速率的影響——不要過(guò)度依賴(lài)Swap,升級(jí)物理內(nèi)存才是根本解決方案。

如果覺(jué)得這篇教程有用,歡迎分享給身邊用Linux的朋友~

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11758

    瀏覽量

    219009
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    9

    文章

    3209

    瀏覽量

    76357
  • Ubuntu
    +關(guān)注

    關(guān)注

    5

    文章

    613

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    紅米顯示內(nèi)存不足怎么處理

    手機(jī)上原來(lái)就安裝有QQ聊天軟件,現(xiàn)在一打開(kāi)空間就顯示內(nèi)存不足,有許多空間的圖片都不及時(shí)顯示。這不是壞,但是怎么處理呢。手機(jī)本身可以運(yùn)行的空間就找1G。該怎么擴(kuò)展呢。失眠了,看手機(jī)才想起
    發(fā)表于 03-09 02:12

    淺析linux內(nèi)存釋放和使用限制

    1、內(nèi)存運(yùn)行機(jī)制1)物理內(nèi)存和虛擬內(nèi)存物理內(nèi)存就是系統(tǒng)硬件提供的內(nèi)存大小,是真正的內(nèi)存,相對(duì)于物
    發(fā)表于 07-11 07:50

    RAM內(nèi)存不足錯(cuò)誤

    遇到難題一、:RAM內(nèi)存不足錯(cuò)誤:一 、將UC/OS III移植到STM32F103C8T6的遇到內(nèi)存不足的報(bào)錯(cuò)。分析,c8t6系類(lèi)RAM內(nèi)存只有20KB。如上圖。在代碼中將heap_size設(shè)置成
    發(fā)表于 08-20 08:14

    HFSS軟件內(nèi)存不足的解決方法

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

    虛擬內(nèi)存不足的原因

    電腦系統(tǒng)是WinXP,最近使用時(shí),沒(méi)開(kāi)多少程序,卻常常出現(xiàn)虛擬內(nèi)存不足的系統(tǒng)提示。可能有以下幾個(gè)原因
    的頭像 發(fā)表于 03-14 14:25 ?3753次閱讀

    虛擬內(nèi)存不足怎么解決

    電腦的虛擬內(nèi)存不足以后,很多功能就無(wú)法使用了,且會(huì)彈出如下所示的頁(yè)面。這就說(shuō)明虛擬內(nèi)存無(wú)法滿(mǎn)足我們的使用需求,就需要咱們對(duì)電腦的虛擬內(nèi)存進(jìn)行重新設(shè)置。那么如何設(shè)置呢?請(qǐng)看下文。
    的頭像 發(fā)表于 03-14 14:29 ?1.4w次閱讀

    需要了解Linux swap分區(qū)的擴(kuò)展

    LinuxSwap(即:交換分區(qū)),類(lèi)似于Windows的虛擬內(nèi)存,就是當(dāng)內(nèi)存不足的時(shí)候,把一部分硬盤(pán)
    發(fā)表于 05-15 08:51 ?1802次閱讀
    需要了解<b class='flag-5'>Linux</b> <b class='flag-5'>swap</b>分區(qū)的擴(kuò)展

    嵌入式LinuxSwap交換區(qū)剖析

    的系統(tǒng)性能指標(biāo)。這些性能指標(biāo)中和Swap有關(guān)的包括以下幾項(xiàng):  procs的w  它表示當(dāng)前(三秒鐘之內(nèi))需要釋放內(nèi)存交換出去的進(jìn)程數(shù)量
    發(fā)表于 04-02 14:36 ?1078次閱讀

    手機(jī)內(nèi)存不足的清理方法

    很多時(shí)候當(dāng)我們拿起手機(jī)時(shí),突然提示我們手機(jī)內(nèi)存不足,無(wú)法安裝應(yīng)用,部分功能受影響,手機(jī)最近頻頻提醒內(nèi)存空間不足,隨著手機(jī)使用時(shí)間的延長(zhǎng),手機(jī)不可避免的越來(lái)越臃腫,手機(jī)運(yùn)行速度也是一卡再卡。怎么辦?沒(méi)關(guān)系,又顯示
    發(fā)表于 05-20 09:49 ?1.1w次閱讀

    電腦和手機(jī)的內(nèi)存不足怎么辦

    如果是電腦內(nèi)存不足,可以通過(guò)任務(wù)管理器關(guān)閉部分應(yīng)用程序,也可以在控制面板中調(diào)整虛擬內(nèi)存的大小,還可以通過(guò)增加內(nèi)存容量方式解決。如果是手機(jī)運(yùn)行內(nèi)存不足,可以一鍵關(guān)閉多任務(wù)。如果是手機(jī)存儲(chǔ)
    發(fā)表于 05-22 09:41 ?2435次閱讀

    虛擬內(nèi)存不足的解決辦法

    虛擬內(nèi)存就是當(dāng)電腦物理內(nèi)容不夠或者防止運(yùn)行大型軟件時(shí)出現(xiàn)不夠,在系統(tǒng)盤(pán),比如C盤(pán)中劃出一個(gè)區(qū)域,用來(lái)存儲(chǔ)交換數(shù)據(jù),類(lèi)似物理內(nèi)存的功能,所以就叫虛擬內(nèi)存。當(dāng)出現(xiàn)虛擬
    發(fā)表于 05-27 10:19 ?3290次閱讀
    虛擬<b class='flag-5'>內(nèi)存不足</b>的解決辦法

    電腦內(nèi)存不足怎么解決win10

    電腦內(nèi)存大家一定都知道吧,通常我們?cè)谟秒娔X的時(shí)候,當(dāng)我們打開(kāi)大型的網(wǎng)絡(luò)游戲和各種應(yīng)用的軟件時(shí),如果我們的電腦本身的內(nèi)存不足,就會(huì)使游戲和大型的軟件打開(kāi)失敗或者是終止。而且電腦內(nèi)存不足會(huì)大大降低電腦
    發(fā)表于 06-12 10:31 ?1525次閱讀

    RAM內(nèi)存不足的表現(xiàn)及解決方法

    RAM內(nèi)存不足的表現(xiàn)及解決方法 一、RAM內(nèi)存不足的表現(xiàn) 系統(tǒng)運(yùn)行緩慢 當(dāng)RAM內(nèi)存不足時(shí),計(jì)算機(jī)的響應(yīng)速度會(huì)明顯下降,打開(kāi)程序或文件需要更長(zhǎng)的時(shí)間。 頻繁的頁(yè)面交換(Page Swa
    的頭像 發(fā)表于 11-11 09:53 ?8282次閱讀

    虛擬內(nèi)存不足如何解決 虛擬內(nèi)存和物理內(nèi)存的區(qū)別

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

    Linux Swap交換空間詳解:Android編譯內(nèi)存不足?這樣擴(kuò)充立竿見(jiàn)影

    ? Swap? 交換空間不足在? “ 搞鬼 ” 。今天不僅要帶大家搞懂? Swap? 的核心作用,還會(huì)結(jié)合? Android? 源碼編譯的實(shí)
    的頭像 發(fā)表于 12-06 08:10 ?4244次閱讀