日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux靈活釋放交換空間,提升系統(tǒng)性能(linux釋放交換空間)

在Linux系統(tǒng)中,交換空間為系統(tǒng)提供了一種擴展內(nèi)存的手段。當物理內(nèi)存不足時,內(nèi)核會將一些不常用的內(nèi)存數(shù)據(jù)寫到交換空間中,以便系統(tǒng)能夠更靈活地運行。然而,在系統(tǒng)高負荷運行時,交換空間也會成為系統(tǒng)瓶頸。為了提升系統(tǒng)性能,Linux采用了一系列策略來靈活釋放交換空間。

從網(wǎng)站建設(shè)到定制行業(yè)解決方案,為提供網(wǎng)站制作、網(wǎng)站建設(shè)服務(wù)體系,各種行業(yè)企業(yè)客戶提供網(wǎng)站建設(shè)解決方案,助力業(yè)務(wù)快速發(fā)展。創(chuàng)新互聯(lián)建站將不斷加快創(chuàng)新步伐,提供優(yōu)質(zhì)的建站服務(wù)。

1.交換空間的概念和用途

交換空間是一塊磁盤空間,由Linux內(nèi)核用于暫存不活躍(頁面中斷)的進程內(nèi)存數(shù)據(jù)。當系統(tǒng)運行時,內(nèi)核會將進程內(nèi)存數(shù)據(jù)復制到交換空間中,并從物理內(nèi)存中釋放,從而騰出更多的物理內(nèi)存空間。當這些數(shù)據(jù)再次被需要時,內(nèi)核會從交換空間中讀取數(shù)據(jù),并將其拷貝到物理內(nèi)存中。

交換空間通常位于硬盤上,因此訪問速度比內(nèi)存慢很多,但相對于物理內(nèi)存而言,交換空間的容量更大。因此,交換空間為系統(tǒng)提供了一種擴展內(nèi)存的方式。當物理內(nèi)存不足時,交換空間可以暫存部分數(shù)據(jù),以便系統(tǒng)能夠正常運行。

2.交換空間的優(yōu)化

盡管交換空間可以擴展Linux系統(tǒng)的內(nèi)存容量,但使用交換空間也會影響系統(tǒng)性能,特別是在高負荷運行時。因此,Linux內(nèi)核采用了一系列策略來優(yōu)化交換空間的使用,以提高系統(tǒng)性能。

2.1.交換空間的調(diào)度

Linux內(nèi)核采用了一種基于優(yōu)先級的隊列調(diào)度算法,用于決定哪些數(shù)據(jù)應(yīng)該被換出到交換空間中。在這種算法中,內(nèi)核將頁面根據(jù)其優(yōu)先級放到不同的隊列中,而更低優(yōu)先級的頁面最容易被換出到交換空間中。

各個進程的內(nèi)存使用情況對于交換空間的調(diào)度也有很大的影響。當物理內(nèi)存不足時,內(nèi)核會嘗試從不同的進程中選取優(yōu)先級更低的頁面進行換出。當一個進程使用了大量的內(nèi)存時,它的頁面就可能比其他進程的頁面更容易被換出到交換空間中。因此,內(nèi)存使用效率也會影響系統(tǒng)的交換空間調(diào)度效率。

2.2.交換空間的大小

交換空間的大小也會影響系統(tǒng)性能。交換空間越大,系統(tǒng)可以擴展的內(nèi)存容量就越大,但同時,交換空間占用的磁盤空間也越大。因此,交換空間應(yīng)該根據(jù)系統(tǒng)內(nèi)存使用情況和磁盤容量來合理配置。

2.3.交換空間的位置

交換空間的物理位置也會影響性能。建議將交換空間放在磁盤的最外側(cè)部分(即磁盤的之一簇),這樣可以提高讀寫速度。此外,在配置交換空間的時候,還可以根據(jù)具體使用情況進行優(yōu)化,例如可以將交換空間放在磁盤的不同分區(qū)內(nèi)。

3.和建議

交換空間為Linux系統(tǒng)提供了一種擴展內(nèi)存的手段,但過量的交換空間使用會導致系統(tǒng)性能下降。因此,在配置交換空間時,需要根據(jù)系統(tǒng)內(nèi)存使用情況和磁盤容量來綜合考慮,合理地配置交換空間大小和位置。同時,開啟適當?shù)慕粨Q空間調(diào)度策略,可以提高系統(tǒng)的交換空間效率,減小系統(tǒng)的響應(yīng)時間,提升系統(tǒng)性能。

相關(guān)問題拓展閱讀:

  • 給Linux分配多少Swap空間才夠呢?
  • Linux內(nèi)存系統(tǒng)
  • 如何解決Linux系統(tǒng)Swap耗盡問題

給Linux分配多少Swap空間才夠呢?

Swap交換大小應(yīng)該是多少?交換應(yīng)該是RAM大小的兩倍還是RAM大小的一半?如果我的系統(tǒng)有幾GB的RAM,我是否需要交換?

也許這些是關(guān)于在安孝斗裝Linux時選擇交換大小的最常見問題。

這不是什么新鮮事。交換大小一直存在很多混亂。

很長一段時間,推薦的交換大小是RAM大小的兩倍,但這條黃金法則不再適用于現(xiàn)代計算機。

我們的系統(tǒng)RAM大小高達128 GB,許多舊計算機甚至沒有這么多的硬盤。但是你會分配到具有32 GB RAM的系統(tǒng)的交換大??? 64GB?那將是一個荒謬的硬盤浪費,不是嗎?

在了解需要分配Swap空間應(yīng)該分配多大之前,讓我們先快速了解交換內(nèi)存的一兩件事。

這些有助于讓每個人真正理解為什么Linux需要Swap交換空間。

我們都知道計算機系統(tǒng)在運行的時候會使用到RAM(Random Access Memory),當只有少數(shù)應(yīng)用程序在運行時,系統(tǒng)會使用可用的RAM進行管理。

但是如果有很多很多的程序在運行,那么就需要非常大容量RAM,這時候計算機RAM不夠,應(yīng)用程序就會崩潰。

當RAM耗盡時,Swap交換空間會被系統(tǒng)使用。當RAM耗盡時,Linux系統(tǒng)使用部分硬盤內(nèi)存并將其分配給正在運行的應(yīng)用程序。

這聽起來非常不錯,這意味著如果我們?nèi)绻峙?0GBSwap交換空間,系統(tǒng)或許可以同時運行成百上千的應(yīng)用程序?是這樣么?大錯特錯?。?!

你知道的,程序運行速度十分重要;

RAM訪問數(shù)據(jù)的大小為納秒級;

SSD訪問數(shù)據(jù)(以微秒為單位),而普通硬盤以毫秒為單位訪問數(shù)據(jù);

這意味著RAM比SSD快1000倍,比普通HDD快100,000倍。

如果應(yīng)用程序過分依賴Swap交換空間,則其伏陵性能將下降,因為它無法以與RAM中相同的速度訪問數(shù)據(jù)。

因此,完成相同任務(wù)可能需要幾分鐘才能完成任務(wù),而不需要花費1秒鐘完成任務(wù)。這將使應(yīng)用程序幾乎無用。這被稱為計算術(shù)語中的顛簸。

Swap交換空間只是用來應(yīng)急的,所以它的分配要適量。

以下是需要交換空間Swap的幾個原因

如果你的RAM有32GB或者64GB,你的系統(tǒng)可能永遠都不會使用到這么多的交換分區(qū)。

我猜測缺慎戚,如果你的系統(tǒng)有32GB的RAM,它或許至少有100GB的硬盤。

分配幾GB的交換空間應(yīng)該也無關(guān)痛癢,如果錯誤的程序開始濫用RAM,它將提供額外的“穩(wěn)定性”。

現(xiàn)在回到這個更大的問題上,應(yīng)該給Linux分配多少Swap空間才夠。

答案是沒有一個確切的答案,不過倒是有一些建議,不同的人根據(jù)自己的實際情況分配交換空間的大小。

如果根據(jù)Red Hat的建議,他們建議是分配RAM 20%的換空間,也就是RAM是8GB,分配1.6GB交換空間。

CentOS建議

Ubuntu考慮到系統(tǒng)需要休眠,

Ubuntu建議的Swap分配表

事實上沒有一個真正確定的Swap交換空間分配大小,根據(jù)實際情況來吧,如果你不在乎多點交換空間,可以使用兩倍于RAM的這種方案。

你更傾向于使用哪種方案呢?

Linux內(nèi)存系統(tǒng)

——虛擬內(nèi)存定義

All about Linux swap space

Linux將物理RAM (Random Access Memory) 劃分為稱為頁面的內(nèi)存塊。交換是將一頁內(nèi)存復制到硬盤上的預配置空間(稱為交換空間)以釋放改內(nèi)存頁面上的過程。物理內(nèi)存和交換空間的組合就是可用的虛擬內(nèi)存量。

虛擬內(nèi)存的那點事兒

進程是與其他進程共享CPU和內(nèi)存資源的。為了有效的管理內(nèi)歷純存并減少出錯,現(xiàn)代操作系統(tǒng)提供了一種對主存的抽象概念,即:虛擬內(nèi)存( Virtual Memory )。

虛擬內(nèi)存為每個進程提供一個一致的,私有的地址空間,每個進程擁有一片連續(xù)完整的內(nèi)存空間。

正如 所說,虛擬內(nèi)存不只是“使用硬盤空間來擴展內(nèi)存”的技術(shù)。

虛擬內(nèi)存的重要意義是它定義了一個連續(xù)的虛擬地址空間,

使得程序編寫難度降低。并且,

把內(nèi)存擴展到硬盤空間只是使用虛擬內(nèi)存的必然結(jié)果,虛擬內(nèi)存空間會存在硬盤中,并且會被全部放入內(nèi)存中緩沖(按需),有的操作系統(tǒng)還會在內(nèi)存不夠的情況下,將一進程的內(nèi)存全部放入硬盤空間中,并在切換到進程時再從硬盤讀取

(這也是Windows會經(jīng)常假死的原因…)。

虛擬內(nèi)存主要提供了如下三個重要的能力:

內(nèi)存通常被組織為一個由M個連續(xù)的字節(jié)大小的單元組成的數(shù)組。每個字節(jié)都有一個唯迅爛氏一的物理地址 (Physical Address PA) ,作為到數(shù)組的索引。

CPU訪問內(nèi)存最簡單直接的方法就是使用物理地址,這種尋址方式稱為

物理尋址

。

現(xiàn)代計算機使用的是一種被稱為虛擬尋址 (Virtual Addressing) 的尋址方式。

使用虛擬尋址,CPU需要將虛擬地址翻譯成物理地址,這樣才能訪問到真實的物理內(nèi)存。

虛擬尋址需要硬件與操作系統(tǒng)之間相互合作。

CPU中含有一個被稱為內(nèi)存管理單元 (Memory Management Unit,MMU) 的硬件,它的功能是將虛擬地址轉(zhuǎn)換稱為物理地址,MMU需要借助存放在內(nèi)存中的 頁表 來動態(tài)翻譯虛擬地址,該頁表由操作系統(tǒng)管理。

分頁表是一種數(shù)據(jù)結(jié)構(gòu),它用于計算機操作系統(tǒng)中虛擬內(nèi)存系統(tǒng),其存儲了虛擬地址到物理地址之間的映射。虛擬地址在訪問進程中是唯一的,而物理地址在硬件(比如內(nèi)存)中是唯一的。

在操作系統(tǒng)中使用

虛擬內(nèi)存

,每個進程會認為使用一塊大的連續(xù)的內(nèi)存,事實上,每個進程的內(nèi)存散布在

物理內(nèi)存

的不同區(qū)域?;蛘呖赡鼙徽{(diào)出到備份存儲中(一般是硬盤)。當一個進程請求自己的內(nèi)存,操作系統(tǒng)負責把程序生成的虛擬地址,映射到實際存儲的物理內(nèi)存上。操作系統(tǒng)在

分頁表

中存儲虛擬地址到物理地址的映射。每個映射被稱為

分頁表項(page table entry ,PTE)

。

在一個簡單的地址空間方案中,由虛擬地址尋址的頁與物理內(nèi)存中的幀之間的關(guān)系。物理內(nèi)存可以包含屬于許多進程的頁。如果不經(jīng)常使用,或者物理內(nèi)存已滿,可以將頁面分頁到磁盤。在上圖中,并非所有頁面都在物理內(nèi)存中。

虛擬地址到物理地址的轉(zhuǎn)換(即虛擬內(nèi)存的管理)、內(nèi)存保護、CPU高速緩存的控制。

現(xiàn)代的內(nèi)存管理單元是以

的方式,分割虛擬地址空間(處理器使用的地址范圍)的;頁的大小是2的n次方,通常為幾KB(字節(jié))。地址尾部的n位(頁大小的2的次方數(shù))作為頁內(nèi)的偏移量保持不變。其余的地址位(address)為(虛擬)頁號。

內(nèi)存管理單元通常借助一種叫做轉(zhuǎn)譯旁觀緩沖器(Translation Lookaside Buffer,TLB)和相聯(lián)高速緩存來將虛擬頁號轉(zhuǎn)換為物理頁號。當后備緩沖器中沒有轉(zhuǎn)換記錄時,則使用一種較慢的機制,其中包括專用硬件的數(shù)據(jù)結(jié)構(gòu)或軟件輔助手段。這個數(shù)據(jù)結(jié)構(gòu)稱為

分頁表

,頁表中的數(shù)據(jù)叫做

分頁表項

(page table entry PTE)。物理頁號結(jié)合頁偏移量便提供了完整的物理地址。

頁表 或 轉(zhuǎn)換后備緩沖器數(shù)據(jù)項應(yīng)該包括的信息有:

有時候,TLB和PTE會

禁止對虛擬頁訪問

,這畝散可能是因為沒有RAM與虛擬頁相關(guān)聯(lián)。如果是這種情況,MMU將向CPU發(fā)出頁錯誤的信號,操作系統(tǒng)將進行處理,也許會尋找RAM的空白幀,同時建立一個新的PTE將之映射到所請求的虛擬地址。如果沒有空閑的RAM,可能必須關(guān)閉一個已經(jīng)存在的頁面,使用一些替換算法,將之保存到磁盤中(這被稱為頁面調(diào)度)。

當需要將虛擬地址轉(zhuǎn)換為物理地址時,首先搜索TLB,如果找到匹配(TLB)命中,則返回物理地址并繼續(xù)存儲器訪問。然而,如果沒有匹配(稱為TLB未命中),則MMU或操作系統(tǒng)TLB未命中處理器通常會查找

頁表

中的地址映射以查看是否存在映射(頁面遍歷),如果存在,則將其寫回TLB(這必須完成,因為硬件通過虛擬存儲器系統(tǒng)中的TLB訪問存儲器),并且重啟錯誤指令(這也可以并行發(fā)生)。此后續(xù)轉(zhuǎn)換找到TLB命中,并且內(nèi)存訪問將繼續(xù)。

虛擬地址到物理地址的轉(zhuǎn)換過程,如果虛擬內(nèi)存不存在與TLB,轉(zhuǎn)換會被重置并通過分頁表和硬件尋找。

通常情況下,用于處理此中斷的程序是操作系統(tǒng)的一部分。如果操作系統(tǒng)判斷此次訪問有效,那么

操作系統(tǒng)會嘗試將相關(guān)的分頁從硬盤上的虛擬內(nèi)存文件調(diào)入內(nèi)存。

而如果訪問是不被允許的,那么操作系統(tǒng)通常會結(jié)束相關(guān)的進程。

雖然叫做“頁缺失”錯誤,但實際上這并不一定是一種錯誤。而且這一機制是利用虛擬內(nèi)存來增加程序可用內(nèi)存空間。

發(fā)生這種情況的可能性:

當原程序再次需要該頁內(nèi)的數(shù)據(jù)時,如果這一頁確實沒有被分配出去,那么系統(tǒng)只需要重新為該頁在MMU內(nèi)注冊映射即可。

操作系統(tǒng)需要:

硬性頁缺失導致的性能損失是很大的。

另外,有些操作系統(tǒng)會將程序的一部分延遲到需要使用的時候再加載入內(nèi)存執(zhí)行,以此提升性能。這一特性也是通過捕獲硬性頁缺失達到的。

當硬性頁缺失過于頻繁發(fā)生時,稱發(fā)生

系統(tǒng)顛簸。

具體動作與所使用的操作系統(tǒng)有關(guān),比如Windows會使用異常機制向程序報告,而類Unix系統(tǒng)則使用信號機制。

盡管在整個運行過程中,程序引用不同的頁面總數(shù)(也就是虛擬內(nèi)存大?。┛赡艹隽宋锢泶鎯ζ鳎―RAM)總大小,但是程序常常在較小的活動頁面上活動,這個叫做工作集或者常駐集。在工作集被緩存后,對它的反復調(diào)用會使程序命中提高,從而提高性能。

大部分的程序都可以在存儲器獲取數(shù)據(jù)和讀取中達到穩(wěn)定的狀態(tài),當程序達到穩(wěn)定狀態(tài)時,存儲器的使用量通常都不會太大。虛擬內(nèi)存雖然可以有效率控制存儲器的使用,

但是大量的頁缺失還是造成了系統(tǒng)遲緩的主要因素。

當工作集的大小超過物理存儲器大小,程序?qū)l(fā)生一種不幸的情況,這種情況稱為

“顛簸”

,頁面將不停的寫入、釋放、讀取,由于大量的丟失(而非命中)而損失極大性能。用戶可以增加隨機存取存儲器的大小或是減少同時在系統(tǒng)里運行程序的數(shù)量來降低系統(tǒng)顛簸的記錄。

推薦閱讀:

操作系統(tǒng)–分頁(一)

操作系統(tǒng)實現(xiàn)(二):分頁和物理內(nèi)存管理

如何解決Linux系統(tǒng)Swap耗盡問題

Linux系統(tǒng)上可以同時有多個swap,根據(jù)是用swapon -s命令可以看到系統(tǒng)上所有的swap,而用free命令看到的是swap總的大小。所以swap不夠用時可以再建立一個swap,一般是用建立swap文件的方式配知添加一個swap空間。下面以1G大小的文件為例介紹如何用文件建立內(nèi)存交換空間:

1. 使用dd命令在某個目錄(實際使用悉梁時換成其他目錄,/tmp目錄的數(shù)據(jù)會在重啟后丟失)下新建一個1G的文件:

dd if=/dev/培陸消zero of=/tmp/swap bs=1M count=1024

解釋:1M是單位,1024是數(shù)目,合計1024M就是總大小1G

2. 格式化這個文件為swap格式:(用mkswap命令)

mkswap /tmp/swap

3. 啟動swap,用swapon命令(就是將新建的swap添加到系統(tǒng)):

swapon /tmp/swap

4. 查看效果(用swapon的-s參數(shù)):

swapon -s

可以看到所有的swap分區(qū),如果成功了,/tmp/swap必然在里面。然后再用free命令查看,就可以看到swap空間增加了。

linux釋放交換空間的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux釋放交換空間,Linux靈活釋放交換空間,提升系統(tǒng)性能,給Linux分配多少Swap空間才夠呢?,Linux內(nèi)存系統(tǒng),如何解決Linux系統(tǒng)Swap耗盡問題的信息別忘了在本站進行查找喔。

香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


網(wǎng)站欄目:Linux靈活釋放交換空間,提升系統(tǒng)性能(linux釋放交換空間)
網(wǎng)站路徑:http://www.dlmjj.cn/article/cddpohj.html