Solaris 下Swap分割槽的簡單介紹

2021-03-31 20:18:55 字數 3688 閱讀 1117

1.swap區和/tmp資料夾的聯絡以及介紹。

swap

空間的作用可簡單描述為:當系統的物理記憶體不夠用的時候,就需要將物理記憶體中

的一部分空間釋放出來,以供當前執行的程式使用。那些被釋放的空間可能來自一些很

長時間沒有什麼操作的程式,這些被釋放的空間被臨時儲存到

swap

空間中,等到那些程

序要執行時,再從

swap

中恢復儲存的資料到記憶體中。這樣,系統總是在物理記憶體不夠時

,才進行

swap

交換。這種現象對於計算機使用者是經常遇到的。有一點要宣告的是,並不是所有從物理記憶體中交換出來的資料都會被放到

swap

中(如果

這樣的話,

swap

會不堪重負),有相當一部分的資料直接交換到檔案系統。例如,有的

程式會開啟一些檔案,對檔案進行讀寫

(其實每個程式都至少開啟乙個檔案,那就是執行程式本身

),當這些程式的記憶體空間需要交換出去時,檔案部分的資料就沒有必要放到

swap

空間中了,如果是讀檔案操作,那麼記憶體資料直接就釋放了,不需要交換出來,因

為下次需要時,直接從檔案系統就能恢復

;如果是寫檔案,只需要將變化的資料儲存到文

件中,以便恢復。但是那些用

malloc(

3c

)

和new

函式(c++

語言中分配空間的語句)生成的物件的資料則不同,需要

swap

空間,因為它們在檔案系統中沒有相應的「儲備」檔案,因此被稱為「匿名」

(anonymous)

的記憶體資料,這類資料還包括堆疊中的一些狀態和變數資料等,所以說,

swap

空間是「匿名」資料的交換空間。

例如:web

伺服器能根據不同的請求數量衍生出多個服務程序

(或執行緒

),如果

swap

空間用完,則服務程序無法進動,通常會出現

的錯誤,嚴重時會造成服務程序的死鎖。

通常情況下,

swap

空間應大於或等於物理記憶體的大小,最小不應小於

64m,通常

swap

空間的大小應是物理記憶體的2-

2.5倍

(solaris 2

以上的版本有所變化,見下文

)。但根據不

同的應用,應有不同的配置:如果是小的桌面系統,只需要較小的

swap

空間,而大的服

務器系統則視情況不同需要不同大小的

swap

空間。特別是資料庫伺服器和

web伺服器會隨

著訪問量的增加,對

swap 

空間的要求也會增加,具體配置參見各自伺服器產品的說明。

另外,swap

分割槽的數量對效能也有很大的影響。因為

swap

交換的操作是磁碟

i/o的操作,

如果有多個

swap

交換區,

swap

空間的分配會以輪流的方式操作於所有的

swap

,這樣會大

大均衡i/o

的負載,加快

swap

交換的速度。如果只有乙個交換區,所有的交換操作會使交

換區變得很忙,使系統大多數時間位於等待狀態,效率很低,用效能監視工具就會發現

,此時的

cpu並不很忙,而系統卻慢,這說明,瓶頸在

i/o上,依靠提高

cpu的速度是解決

不了問題的。

效能監視

最常用的是

vmstat

命令,在大多數

unix

平台下都有此命令,此命令可以檢視大多數效能

的指標。

另外使用

swap -s 

也能簡單的檢視當前

swap

資源的使用情況。例如:

#swap 

-s  

你知道嗎?虛擬

swap

空間與/tmp

目錄有相當大的關係。

sun在實現

/tmp

目錄時,充分考

慮了應用程式執行的效率。許多應用程式,特別是資料庫服務都會頻繁使用

/tmp

目錄作為臨時資料儲存區,而

solaris

將/tmp

目錄下的檔案都放在記憶體中而不是硬碟裡,這樣

會大大提高應用程式的效率。

但是/tmp

目錄的空間是從系統虛擬空間裡擠出來的,是虛

擬swap

空間的一部分。如果說,你用完了

/tmp

空間,也就是用完了

swap

空間,所以要小

心監視系統的

/tmp

目錄的使用情況,千萬別用光了,否則系統會癱瘓

!下面兩點建議作為

參考:1.

在mount /tmp

目錄時,使用(-

o size)

選項來控制

/tmp

目錄的大小。

2.當使用編譯器編譯檔案時,如果不想占用

swap

空間,則用

tmpdir

環境變數指向另外一

個臨時目錄,而不是

/tmp

目錄。增加

swap

空間1.

成為超級使用者

$su 

-root  

2.建立

swap檔案#

mkfile nnn[klblm] filename  

如:#mkfile 

100m

swapfile1  

3.啟用

swap檔案#

/usr/sbin/swap 

-a /path/filename  

swap

檔案必須以絕對路徑來指定,

filename

指的是上一步建立的檔案。

4.現在新加的

swap

檔案已經起作用了,但系統重新啟動以後,並不會記住前幾步的操作

。因此要在

/etc/vfstab

檔案中記錄檔案的名字,和

swap

型別,如:

/path/filename --

swap 

-no -5.

效驗swap

檔案是否加上

/usr/sbin/swap 

-l  

刪除多餘的

swap

空間1.

成為超級使用者

2.使用

swap -d 

命令收回

swap

空間。#

/usr/sbin/swap 

-d /path/filename  

3.編輯

/etc/ufstab

檔案,去掉此

swap(交換)

檔案的實體。

4.從檔案系統中**此檔案。

#rm swap

-filename  

5.當然,如果此

swap(交換)

空間不是乙個檔案,而是乙個分割槽,則需建立乙個新的檔案系統,再掛接到原來的檔案系統上。

ubuntu下swap分割槽 boot分割槽 概念理解

swap是linux下的虛擬記憶體分割槽,作用是在物理記憶體使用完成之後,將磁碟空間 也即swap分割槽 虛擬成記憶體來使用。swap和windows系統的交換檔案作用類似,但是它是一段連續的磁碟空間,並且對使用者不可見。swap分割槽能夠作為 虛擬 的記憶體,但其速度比物理記憶體慢,因此若需要更快...

分割槽 swap分割槽

what?將乙個硬碟驅動器,劃分為若干個邏輯上的驅動器。一般來說,分割槽和 boot分割槽的是必要,swap分割槽的重要的,使用者分割槽是可要的。why?多年前我們就習慣將硬碟分割槽,但是那時候和現在分割槽的理由或不相同。總之分割槽的理由或者說好處,大概有這些。檔案系統限制最大硬碟容量,如00年前後...

Linux下修改Swap分割槽大小

據了解linux下可以有兩種方法建立交換空間,一種是建立交換分割槽,另一種是建立交換檔案。本文記錄的是建立交換檔案的方法,因為我用的是這種方法。新增交換檔案步驟 1 找個地方建立乙個.swap的檔案,我放在了 mnt目錄下 dd if dev zero of mnt 10gb.swap bs 1g ...