linu什麼情況就會使用到交換區swap比如剩下多少

2022-03-06 04:33:45 字數 3416 閱讀 1617

1樓:

交換區可是看作是記憶體的一部分,只是它是從硬碟中劃分出來的。 它像windows下的虛擬記憶體。

它的作用是快取資料。 劃分它時,大小設成你的實體記憶體的大小的兩倍。

當系統的實體記憶體不夠用的時候,就需要將實體記憶體中的一部分空間釋放出來,以供當前執行的程式使用。那些被釋放的空間可能來自一些很長時間沒有什麼操作的程式,這些被釋放的空間被臨時儲存到swap空間中,等到那些程式要執行時,再從swap中恢復儲存的資料到記憶體中。這樣,系統總是在實體記憶體不夠時,才進行swap交換。

其實,swap的調整對linux伺服器,特別是web伺服器的效能至關重要。通過調整swap,有時可以越過系統效能瓶頸,節省系統升級費用。

2樓:

linux 的swap相當於windows的虛擬記憶體,當實體記憶體不能夠滿足系統和程序的運作時,就會用到swap,另外有些程式會在它們初始化時殘留的極少再用到得記憶體頁內容轉移到swap空間,以減少實體記憶體空間的使用,分配太多的swap空間會浪費磁碟空間,而swap太少,則系統會發生錯誤,如果系統的實體記憶體用光了,系統執行會很慢,而如果swap空間用光了,系統會直接報錯。

3樓:匿名使用者

你可以用free -m檢視下記憶體 如果free的值沒有了也就是說空閒記憶體容量沒了 就會用到swap

linux下如何釋放記憶體,swap分割槽滿了怎麼辦

4樓:大大蟲

終止佔記憶體多的程序

可以增加swap區

5樓:

先重啟 然後再慢慢跟蹤下記憶體使用情況

如果有問題的程序可以看下是否kill還是優化

最後再決定是否升級

6樓:匿名使用者

swap的作用可簡單描述為:

當記憶體不夠用時,將儲存器中的資料塊從dram移到swap的磁碟空間中,以釋放更多的空間給當前程序使用.

當再次需要那些資料時,就可以將swap磁碟中的資料重新移到記憶體,而將那些不用的資料塊從記憶體移到swap中.

2)資料從記憶體移動交換區的行為被稱為頁面呼叫,發生在後臺的頁面呼叫沒有來自應用程式的干涉.

3)swap空間是分頁的,每一頁的大小和記憶體頁的大小一樣.

4)並不是一定要給每個系統劃分swap,比如大多數的嵌入式就沒有swap.

##在執行以上操作以後,檢視你的swap分割槽還是滿了,你首先檢視一下你實際的記憶體剩多少空間,然後在檢視自己的swap空間用了多少,首先提前保證實際剩餘的記憶體比你的swap的記憶體的空間要大,然後執行一下操作,否則會宕機的!

首先我們停掉swap分割槽,檢視swap分割槽

swapon -s 會檢視到你的swap分割槽是掛在**!

然後比如說我的是掛到/dev/sda2

swapoff /dev/sda2

停止是需要一段時間的,因為他會把記憶體釋放到實際記憶體當中,

然後在啟動我們的swap分割槽

swapon -a

我們的swap分割槽記憶體已經成功釋放到了實際記憶體當中!

linux swap分割槽是什麼?

7樓:匿名使用者

swap分割槽是交換分割槽的意思,是用於當記憶體不足時,呼叫硬碟的一部分做為暫時儲存內容的地方。

8樓:匿名使用者

- -# 就是windows的虛擬記憶體~~~但是linux下的虛擬記憶體和windows下有區別~~swap分割槽是在自身實體記憶體已經耗盡的情況下才會使用!而windows是協同呼叫!

9樓:

linux swap分割槽是linux交換分割槽:

1.如果linux系統實體記憶體不夠用了,系統會用swap分割槽;

2.如果實體記憶體不夠用了,系統會把實體記憶體裡的訪問頻率低的記憶體物件移動到swap裡,再在實體記憶體裡產生新的連線指向swap裡的那個物件;

10樓:一百巴仙大叔

可以看為是記憶體的擴充套件

linux伺服器的swap分割槽大小設定問題

11樓:匿名使用者

swap 的用處是防止記憶體不足導致程式錯誤退出的。

但 swap 的效能爛地球人都知道,所以不要追求 swap 能當記憶體用。

apache 這種伺服器程式主要是針對大型伺服器設計的,記憶體必須上 g ,而且他真的是有多少記憶體就用多少記憶體的貨。沾滿記憶體是可以增加效能的。

但另一個問題是你的****是不是有記憶體方面的使用問題,有些**會因為記憶體使用的不規範導致過多的記憶體佔用。

伺服器端的記憶體**機制要等程式執行完畢退出,而且還有一個延遲後才會強行**記憶體的。有些如果有對外的連結,要等連結超時後才會對記憶體**。比如資料庫,這也是記憶體佔用大戶。

總的來說,apache 現在最好上 64 位系統+ 4g 記憶體,至於伺服器的 swap 不能按普通的計算機那種分配來考慮。你要考慮的是保證程式不因為記憶體不足而報錯,所以儘可能的大是一個方向(但其實真用不到……)。

小記憶體就不應該用 apache 。

swap 不能當記憶體用。

12樓:匿名使用者

請注意作業系統也不是把swap分割槽或是windows下的虛擬記憶體頁面檔案當成記憶體來管理的。仔細讀讀作業系統原理的資料以及系統記憶體管理的技術說明,swap或是win虛擬記憶體更多是被系統當成一種低速的cache使用,或者寄放長期不用的程式**段在記憶體中釋放空間做高速cache。總之強調一種快取而不是記憶體功能。

而且你這種實體記憶體枯竭只能證明是系統資源過少或者程式胃口太大,這時講不了什麼cache了,只能當記憶體使用。。。好奇的話,你可以試試在實體記憶體足夠的機器上啟動和關閉虛擬記憶體(或swap)進行試驗,如果虛擬記憶體(或swap)真是當作記憶體使用應該是沒有效能提升的,但是實驗結果表示在實體記憶體足夠的機器上,由於虛擬記憶體為實體記憶體騰出更多cache,系統流暢度上升。(當然效果不明顯,由於實體記憶體足夠時即使無虛擬記憶體系統也會在記憶體中快取最常用資料)

以上是對桌面應用說的。對於伺服器,假如系統配置得好,程式記憶體管理也比較出色,那麼可以騰出更多記憶體充當cache,對於訪問大的站點(尤其是資料庫站點),一個大cache空間很有效的提升響應速度。。。

win以及linux的預設虛擬記憶體基本都是實體記憶體1.5倍到2.5倍,這種分配思想就是最佳情況下程式**常用的只是極少一部分,記憶體幾乎全部做高速cache放高使用率資料,大量不常用**寄存在虛擬記憶體,少量低使用率資料待虛擬記憶體。

這樣記憶體和虛擬記憶體得到最佳利用。

13樓:唐衛公

記憶體512mb太小,只能作實驗用. 一般的建議是,如記憶體不超過2gb, swap=記憶體; 如記憶體超過2gb, 則swap=2gb.

當然,如果發現仍然不夠,可再增加。

14樓:出門在外

一句話記憶體夠大 沒他都行

主要看你伺服器的記憶體的耗用多少

什麼情況下積分和求導可以交換順序

交換積分次序,無論什麼情況下是可以的,但要具體情況進行分析。1 多重積分,不同於一重積分,能不能積出來,取決於 a 被積函式的形式,這在一重積分中,也是一樣 b 積分的區域,這在一重積分中,也會出現 c 積分的次序,這是一重積分不具備的。2 交換積分次序,在理論上說合理的,是可行的,但是,並不意味著...

電腦一登出或者關機就會藍屏,是什麼情況?

登錄檔資訊錯誤了。恢復一下登錄檔就行了。1是不是非法關機。這樣會導致藍屏。2就是你記憶體條的棵粒壞了。等 你看看有沒有計劃任務什麼的 似乎驅動有問題。不過根據lz的描述好像中毒了。我的電腦一關機 或者登出 就會藍屏 怎麼回事?1是不是非法關機。這樣會導致藍屏。2就是你記憶體條的棵粒壞了。等 檢查記憶...

什麼情況下使用順序表比使用連結串列好

連結串列引入是因為順 copy序表的插入刪除操作方法,換句話說,連結串列的優勢在於插入和刪除 操作方便,因此,在插入和刪除頻繁的程式中適合用連結串列,比如linux核心的檔案物件管理 就是用的連結串列。而順序表,更多的是用於緩衝區。當你需要對線性表進行隨機存取時顯然順序表會比連結串列好用,因為順序表...