新聞中心
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,越來越多的應(yīng)用程序需要處理更大、更復(fù)雜的數(shù)據(jù),在此過程中,Linux虛擬內(nèi)存管理成為了一項(xiàng)重要的任務(wù)。Linux操作系統(tǒng)通過虛擬內(nèi)存機(jī)制允許應(yīng)用程序訪問比物理內(nèi)存更大的內(nèi)存空間,提升了計(jì)算機(jī)的可用內(nèi)存。但是,虛擬內(nèi)存增長如何影響系統(tǒng)的性能呢?本文將就這一話題進(jìn)行探討。

成都創(chuàng)新互聯(lián)長期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為麻栗坡企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè),麻栗坡網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
什么是Linux虛擬內(nèi)存?
Linux虛擬內(nèi)存是一種供應(yīng)用程序使用的內(nèi)存管理機(jī)制,將物理內(nèi)存和磁盤空間組合使用并允許應(yīng)用程序使用比物理內(nèi)存更大的內(nèi)存空間。因此,在物理內(nèi)存容量有限的情況下,Linux系統(tǒng)仍然可以運(yùn)行更多的應(yīng)用程序。
虛擬內(nèi)存機(jī)制使得物理內(nèi)存可以被分割成一塊塊的頁面,這些頁面可以被虛擬地址空間映射到特定的應(yīng)用程序。當(dāng)應(yīng)用程序需要訪問未被分配的頁面時(shí),虛擬內(nèi)存機(jī)制會(huì)將這些頁面從磁盤上讀取到物理內(nèi)存中,從而使應(yīng)用程序可以訪問這些頁面。虛擬內(nèi)存機(jī)制還可以將已經(jīng)訪問的頁面從物理內(nèi)存中換出,從而提高了物理內(nèi)存的利用率。
為什么Linux虛擬內(nèi)存會(huì)增長?
Linux虛擬內(nèi)存的增長由多個(gè)因素引起。其中,最常見的原因包括:
1.應(yīng)用程序內(nèi)存泄漏
應(yīng)用程序在運(yùn)行時(shí)可能申請了大量的內(nèi)存,并在程序結(jié)束時(shí)沒有正確地釋放這些內(nèi)存。在這種情況下,內(nèi)存泄漏會(huì)導(dǎo)致虛擬內(nèi)存的增長。
2.過度使用緩存
Linux系統(tǒng)為應(yīng)用程序提供了大量的緩存空間,用于緩存頻繁讀取的文件和數(shù)據(jù)。如果應(yīng)用程序過度依賴緩存,那么緩存將會(huì)占用大量的虛擬內(nèi)存空間。
3.頻繁的頁面換入和換出
Linux虛擬內(nèi)存機(jī)制允許將未被訪問的頁面換出到磁盤上,從而在物理內(nèi)存空間不足的情況下維持計(jì)算機(jī)系統(tǒng)的穩(wěn)定運(yùn)行。然而,頻繁的頁面換入和換出會(huì)導(dǎo)致虛擬內(nèi)存的增長。
linux虛擬內(nèi)存增長的影響是什么?
Linux虛擬內(nèi)存的增長可能導(dǎo)致系統(tǒng)性能下降,并可能引起以下問題:
1.應(yīng)用程序崩潰
虛擬內(nèi)存的增長可能導(dǎo)致物理內(nèi)存不足,從而導(dǎo)致應(yīng)用程序崩潰。在這種情況下,系統(tǒng)管理員需要增加物理內(nèi)存或優(yōu)化應(yīng)用程序的內(nèi)存使用。
2.交換活動(dòng)增多
虛擬內(nèi)存的增長還可能導(dǎo)致交換活動(dòng)頻繁發(fā)生。交換活動(dòng)是指將未被訪問的內(nèi)存頁面從物理內(nèi)存中換出到磁盤上,然后將需要訪問的頁面從磁盤讀取到物理內(nèi)存中。頻繁的交換活動(dòng)會(huì)延長響應(yīng)時(shí)間,降低系統(tǒng)性能。
3.文件緩存占用過多內(nèi)存
Linux系統(tǒng)會(huì)將文件緩存存儲(chǔ)在虛擬內(nèi)存中。當(dāng)緩存過大時(shí),可能會(huì)導(dǎo)致物理內(nèi)存不足并減慢系統(tǒng)的響應(yīng)時(shí)間。
如何解決Linux虛擬內(nèi)存增長的問題?
為了解決虛擬內(nèi)存過度增長的問題,可以采取以下措施:
1.合理使用內(nèi)存
對應(yīng)用程序進(jìn)行優(yōu)化,減少內(nèi)存的使用量。應(yīng)用程序可以使用緩存或提高垃圾回收效率等優(yōu)化方法,以減少內(nèi)存泄漏和緩存過度。
2.增加物理內(nèi)存
增加物理內(nèi)存可以提高系統(tǒng)運(yùn)行性能,并對虛擬內(nèi)存增長問題有一定的緩解作用。通過增加物理內(nèi)存,可以減少虛擬內(nèi)存和交換空間的使用,并提高系統(tǒng)性能。
3.減少交換活動(dòng)
降低交換活動(dòng)的頻率可以提高系統(tǒng)性能。我們可以通過調(diào)整虛擬內(nèi)存策略,增加物理內(nèi)存,或使用SSD等高速存儲(chǔ)器件,以減少交換活動(dòng)發(fā)生的頻率。
4.設(shè)置文件緩存大小
可以通過修改文件緩存大小的限制來控制文件緩存的大小。這可以通過修改Linux系統(tǒng)的內(nèi)核參數(shù)來實(shí)現(xiàn)。需要指出的是,在設(shè)置緩存大小時(shí),需要在物理內(nèi)存和進(jìn)程的需要之間取得平衡。
在Linux系統(tǒng)中,虛擬內(nèi)存的管理對系統(tǒng)運(yùn)行和應(yīng)用程序有著重要的影響。虛擬內(nèi)存的過度增長可能導(dǎo)致性能下降和應(yīng)用程序崩潰等問題。要解決虛擬內(nèi)存增長的問題,需要合理使用內(nèi)存、增加物理內(nèi)存和減少交換活動(dòng)等方法。在日常運(yùn)維中,系統(tǒng)管理員需要時(shí)刻關(guān)注虛擬內(nèi)存的使用情況,并根據(jù)使用情況做出相應(yīng)的優(yōu)化措施。
相關(guān)問題拓展閱讀:
- 提高虛擬內(nèi)存有什么用?
- linux虛擬內(nèi)存有什么作用
提高虛擬內(nèi)存有什么用?
虛擬內(nèi)存有什么用?可以加電腦運(yùn)行速度?
別稱虛擬存儲(chǔ)器(Virtual Memory)。電腦中所運(yùn)行的程序均需經(jīng)由內(nèi)存執(zhí)行,若執(zhí)行的程序占用內(nèi)存很大或很多,則會(huì)導(dǎo)致內(nèi)存消耗殆盡。為解決該問題,Windows中運(yùn)用了虛擬內(nèi)存技術(shù),即勻出一部分硬盤空間來充當(dāng)內(nèi)存使用。當(dāng)內(nèi)存耗盡時(shí),電腦就會(huì)自動(dòng)調(diào)用硬盤來充當(dāng)內(nèi)存,以緩解內(nèi)存的緊張。若計(jì)算機(jī)運(yùn)行程序或操作所需的隨機(jī)存儲(chǔ)器(RAM)不足時(shí),則 Windows 會(huì)用虛擬存儲(chǔ)器進(jìn)行補(bǔ)償。它將計(jì)算機(jī)的RAM和硬盤上的臨時(shí)空間組合。當(dāng)RAM運(yùn)行速率緩慢時(shí),它便將數(shù)據(jù)從RAM移動(dòng)到稱為“分頁文件”的空間中。將數(shù)據(jù)移入分頁文件可釋放RAM,以便完成工作。 一般而言,計(jì)算機(jī)的RAM容量越大,程序運(yùn)行得越快。若計(jì)算機(jī)的速率由于RAM可用空間匱乏而減緩,則可嘗試通過增加虛擬內(nèi)存來進(jìn)行補(bǔ)償。但是,計(jì)算機(jī)從RAM讀取數(shù)據(jù)的速率要比從硬盤讀取數(shù)據(jù)的速率快,因而擴(kuò)增RAM容量(可加內(nèi)存條)是更佳選擇。
虛擬內(nèi)存有什么優(yōu)缺點(diǎn)?
1、虛擬內(nèi)存的優(yōu)點(diǎn):可以彌補(bǔ)物理內(nèi)存大小的不足;一定程度的提高反映速度;減少對物理內(nèi)存的讀取從而保護(hù)內(nèi)存延長內(nèi)存使用壽命;
2、虛擬內(nèi)存的缺點(diǎn):占用一定的物理硬盤空間;加大了對硬盤的讀寫;設(shè)置不得當(dāng)會(huì)影響整機(jī)穩(wěn)定性與速度。
win7虛擬內(nèi)存和內(nèi)存有什么好處
1、虛配喚塌擬內(nèi)存的優(yōu)點(diǎn):可以彌補(bǔ)物理內(nèi)存大小的不足;一定程度的提高反映速度;減少對物理內(nèi)存的讀取從而保護(hù)內(nèi)存延長內(nèi)存使用壽命;
2、虛擬內(nèi)存的缺點(diǎn):占用一定的物理硬盤空間;加大了對硬盤的讀寫;設(shè)置不得當(dāng)會(huì)影響整機(jī)穩(wěn)定性與速度。
虛擬內(nèi)存從C盤設(shè)置到其它磁盤的方法(如果在其它盤,設(shè)置方法一樣):右擊我的電腦–屬性–高級–性能設(shè)置–高級–虛擬內(nèi)存更改–點(diǎn)選C盤–單選“無分頁文件”–“設(shè)置”,此時(shí)C盤旁的虛擬內(nèi)存就消失了;
然后選中D或F盤,單選“自定義大小”–在下面的“初始大小”和“更大值”兩個(gè)文本框中輸入數(shù)值–“設(shè)置”—確定–重啟電腦,便完成了設(shè)置。
虛擬內(nèi)存更好不要與系統(tǒng)設(shè)在同一個(gè)磁盤內(nèi),內(nèi)存是隨著使用而動(dòng)態(tài)地變化,設(shè)在C盤就容易產(chǎn)生磁盤碎片,影響系統(tǒng)運(yùn)行速度。
所以,更好將虛擬內(nèi)存設(shè)置在磁盤剩余空間較大而又不常用的磁盤,如D、F,這樣可以避免系統(tǒng)在C盤進(jìn)行頻繁的讀寫操作而影響系統(tǒng)速度。虛擬內(nèi)存在一臺(tái)電腦,只用設(shè)置一次,可設(shè)置在任何一個(gè)磁盤。
減輕內(nèi)存負(fù)擔(dān): 1、打開的程序不可太多。如果同時(shí)打開的文檔過多或者運(yùn)行的程序過多,就沒有足夠的內(nèi)存運(yùn)行其他程序,要關(guān)閉不用的程序和窗口。
2、自動(dòng)運(yùn)行的程序不可太多 。
虛擬內(nèi)存是什么?如何增加?增加多少好?
所謂虛擬內(nèi)存,這樣說吧,就是在培圓你的硬盤上劃分一塊地方作為內(nèi)存來使用,并不是真正的內(nèi)存,真正的內(nèi)存,應(yīng)該是內(nèi)存條。你可以在我的電腦圖標(biāo)是點(diǎn)右鍵->屬性,在常規(guī)那里可以看到鏈頌?zāi)愕奈锢韮?nèi)存是多少。至于怎么設(shè)置,如下
在“我的電腦”上點(diǎn)右鍵 ,看圖吧。你要設(shè)到哪個(gè)盤自己定義,通常建議設(shè)到非系統(tǒng)盤,一般系統(tǒng)盤都是C盤,你可以設(shè)到D盤。如若你要設(shè)到D盤,先把C盤的清零,看圖先把原來自定義的值設(shè)為零,點(diǎn)擊設(shè)置,再選中D盤,在自定義那兩個(gè)框內(nèi)填入你要設(shè)置的大小,如1024,再點(diǎn)設(shè)置,之后點(diǎn)確定……一般建議設(shè)為物理內(nèi)存的1.5~2倍,而且系統(tǒng)裝好后,好像默認(rèn)就是這個(gè)值吧,至于你要設(shè)多少就要看情況了,通常情況下默認(rèn)就行了如果你的內(nèi)存做夠大,虛擬內(nèi)存設(shè)大了也沒啥用只會(huì)占空間,不過要是你的硬盤夠大,他愛占就占唄
虛擬內(nèi)存有什么用?
內(nèi)存主要是用來臨時(shí)存貯數(shù)據(jù)
比如電腦中調(diào)用的數(shù)據(jù),就需要從硬盤讀出,發(fā)給內(nèi)存,然后內(nèi)存再發(fā)給CPU
虛擬內(nèi)存一般是用在內(nèi)存不足的情況下
系統(tǒng)自動(dòng)調(diào)用硬盤的空間,用來暫時(shí)替代不夠的內(nèi)存工作
由于虛擬內(nèi)存用的是硬盤空間
硬盤的讀寫速度要遠(yuǎn)遠(yuǎn)低于真正的內(nèi)存
所以設(shè)置過大虛擬內(nèi)存會(huì)影響你計(jì)算機(jī)的速度
并且虛擬內(nèi)存更好是設(shè)置成你不經(jīng)常用的磁盤分區(qū)上
因?yàn)椴唤?jīng)常用的分區(qū)碎片少,磁頭讀寫順暢,相對較快
想以“自定義大小”的方法來處理虛擬內(nèi)存,究竟應(yīng)該設(shè)置多大的虛擬內(nèi)存呢?在Windows XP中,如果由操作系統(tǒng)自己定義虛擬內(nèi)存,系統(tǒng)通常會(huì)把最小值設(shè)置為物理內(nèi)存的1.5倍。當(dāng)擴(kuò)展時(shí),更大值則介于物理內(nèi)存的2.5至3倍。一般情況下,用戶想自定義虛擬內(nèi)存的大小,均可參照這個(gè)比例設(shè)置。
真的要參照這個(gè)比例嗎?如果電腦有1GB的內(nèi)存,難不成最小值要設(shè)置為1.5GB,更大值是2.5至3GB。這樣一來。Pagefile.sys頁面文件至少為1.5GB,太不現(xiàn)實(shí)了!
其實(shí),大內(nèi)存的系統(tǒng)跟小內(nèi)存的系統(tǒng)相比,在設(shè)置虛擬內(nèi)存時(shí),標(biāo)準(zhǔn)有些不同。
如果大家有512MB以上甚至1GB的內(nèi)存,既然物理內(nèi)存已經(jīng)相當(dāng)充足,所需的虛擬內(nèi)存反而應(yīng)該減少。故在大內(nèi)存的系統(tǒng)中,虛擬內(nèi)存的最小值可以設(shè)成物理內(nèi)存的一半。比如有1GB的內(nèi)存,虛擬內(nèi)存的最小值設(shè)成512MB,更大值則維持3GB以備不時(shí)之需。注意:雖然更大值設(shè)為3GB,系統(tǒng)是不會(huì)立即出現(xiàn)3GB大小的pagefile.sys文件,實(shí)際上它首先會(huì)以最小值出現(xiàn),待有擴(kuò)展需要時(shí)才會(huì)遞增。
另外,有些大內(nèi)存的朋友,可能會(huì)干脆不設(shè)置虛擬內(nèi)存,以此強(qiáng)迫系統(tǒng)使用速度較快的內(nèi)存。其實(shí)這是不太明智的做法。正所謂凡事都不要做得太絕對,完全沒有虛擬內(nèi)存也不行。原因是不少應(yīng)用程序在設(shè)計(jì)時(shí)要求必須使用虛擬內(nèi)存,沒有了梗會(huì)造成系統(tǒng)不穩(wěn)定或死機(jī)。
內(nèi)存的類型和質(zhì)量都有不同。至于小內(nèi)存的系統(tǒng),例如1G,參照1.5倍及3倍的設(shè)置比例最穩(wěn)當(dāng)。即虛擬內(nèi)存最小值設(shè)為1.5G,更大值3G。
把虛擬內(nèi)存調(diào)大有什么用??
所謂的虛擬內(nèi)存,就是把硬盤的多余空間當(dāng)成內(nèi)存使用。是以前內(nèi)存很貴,本身內(nèi)存容量又不是很大(以前有一條256已經(jīng)很開心啦)。但運(yùn)行的程序還是很多的情況下,系統(tǒng)的一種折中的解決方案,當(dāng)然,這個(gè)虛擬內(nèi)存也不是無限大的,一般設(shè)置為物理內(nèi)存的1.5倍就已經(jīng)足夠,再大也是浪費(fèi)硬盤空間了。 至于目前已經(jīng)主流2G或更大的內(nèi)存容量,所以這個(gè)目前也沒什么作用了,但由于現(xiàn)在的程序也是越來越大,所以不管你的內(nèi)存是多大,還是分一點(diǎn)硬盤出來做虛擬內(nèi)存吧。有時(shí)作用還是蠻大的。最明顯的是不用一運(yùn)行大的程序(二到三個(gè))切換的時(shí)候,不會(huì)出現(xiàn)卡的一下
設(shè)置虛擬內(nèi)存有什么用
虛擬內(nèi)存,就是用硬盤來模擬內(nèi)存使用.
客觀來說,如果你的內(nèi)存足夠大,是不需要虛擬內(nèi)存的.但事實(shí)上,這往往不可能.
操作系統(tǒng)為了更好地有效利用內(nèi)存資源,通常把最最常用的模塊加載到緩存中,然后把常用模塊放入內(nèi)存中,把最不常用但在運(yùn)行中需要調(diào)用的模塊放入硬盤中.
這樣,可以有效提升資源使用率.而虛擬內(nèi)存,就是放入硬盤的這部分東西組成的一個(gè)邏輯概念.在WINDOWS里面,它是通用一個(gè)交換文件來實(shí)現(xiàn)的.而在LINUX系統(tǒng),它則是一個(gè)固定的分區(qū).
對于WINDOWS系統(tǒng)來說,這個(gè)文件的存在,等于增加了內(nèi)存的容量.只不過,這部分容量,用起來很慢(因?yàn)橛脖P是機(jī)械設(shè)備).在邏輯上,這部分硬盤空間,充當(dāng)了內(nèi)存的角色,所以叫虛擬內(nèi)存.
電腦的虛擬內(nèi)存調(diào)的大了有什么好處?
虛擬內(nèi)存的概念是相對于物理內(nèi)存而言的,當(dāng)系統(tǒng)的物理內(nèi)存空間入不敷出時(shí),操作系統(tǒng)便會(huì)在硬盤上開辟一塊磁盤空間當(dāng)做內(nèi)存使用,這部分硬盤空間就叫虛擬內(nèi)存。Windows 98中采用Win386.swp文件的形式,而Windows 2023/XP則采用頁面文件pagefile.sys的形式來管理虛擬內(nèi)存。
一、大小情況
1.一般情況
一般情況下,建議讓W(xué)indows來自動(dòng)分配管理虛擬內(nèi)存,它能根據(jù)實(shí)際內(nèi)存的使用情況,動(dòng)態(tài)調(diào)整虛擬內(nèi)存的大小。
2.關(guān)于最小值
Windows建議頁面文件的最小值應(yīng)該為當(dāng)前系統(tǒng)物理內(nèi)存容量再加上12MB,而對于物理內(nèi)存容量小于256MB的用戶,則建議將頁面文件的最小值設(shè)得更大些:
①使用128MB或者更少內(nèi)存的用戶,建議將當(dāng)前物理內(nèi)存容量的1.75倍設(shè)置為頁面文件的最小值。
②內(nèi)存大小在128MB到256MB之間的用戶,建議將當(dāng)前物理內(nèi)存容量的1.5倍設(shè)置為頁面文件的最小值。
3.關(guān)于更大值
一般來說,頁面文件的更大值設(shè)置得越大越好,建議設(shè)置為最小值的2到3倍。
4.極端情況
假如硬盤空間比較緊張,在設(shè)置頁面文件時(shí),只需保證它不小于物理內(nèi)存的3/4即可。
如果物理內(nèi)存很大(大于512MB),則可以將虛擬內(nèi)存禁用。(上海 任亞維)
5.根據(jù)不同的任務(wù)環(huán)境設(shè)置
①以3D游戲?yàn)橹鞯沫h(huán)境
3D游戲?qū)PU、顯卡和內(nèi)存要求都很高,如果物理內(nèi)存小于256MB,建議把虛擬內(nèi)存預(yù)設(shè)得大一點(diǎn),這對提高游戲的穩(wěn)定性和流暢性很有幫助。
②以播放視頻為主的環(huán)境
視頻應(yīng)用對硬盤空間的“胃口”很大,不過千萬不要像在3D游戲環(huán)境中一樣把虛擬內(nèi)存設(shè)得很大,尤其是Windows XP的用戶。因?yàn)閃indows XP不會(huì)自動(dòng)把不需要的空間釋放掉,也就是說那個(gè)Pagefiles.sys文件會(huì)越來越大。如果你把虛擬內(nèi)存和Windows XP放在同一分區(qū),播放RM、ASF等視頻流文件以后,系統(tǒng)經(jīng)常會(huì)提示你虛擬內(nèi)存設(shè)得太小或是磁盤空間不足。查看此時(shí)的頁面文件,已經(jīng)足有1GB大小了。所以建議經(jīng)常欣賞視頻文件的Windows XP用戶,把初始數(shù)值設(shè)小一點(diǎn),或者將虛擬內(nèi)存轉(zhuǎn)移到系統(tǒng)盤以外的分區(qū)。
二、設(shè)置方法
下面以在Windows XP下轉(zhuǎn)移虛擬內(nèi)存所在盤符為例介紹虛擬內(nèi)存的設(shè)置方法:進(jìn)入“打開→控制面板→系統(tǒng)”,選擇“高級”選項(xiàng)卡,點(diǎn)擊“性能”欄中的“設(shè)置”按鈕,選擇“高級”選項(xiàng)卡,點(diǎn)擊“虛擬內(nèi)存”欄內(nèi)的“更改”按鈕,即可進(jìn)入“虛擬內(nèi)存”窗口;在驅(qū)動(dòng)器列表中選中系統(tǒng)盤符,然后勾選“無分頁文件”選項(xiàng),再單擊“設(shè)置”按鈕;接著點(diǎn)擊其他分區(qū),選擇“自定義大小”選項(xiàng),在“初始大小”和“更大值”中設(shè)定數(shù)值,然后單擊“設(shè)置”按鈕,最后點(diǎn)擊“確定”按鈕退出即可。
禁用虛擬內(nèi)存有什么好處,性能上有什么提升嗎?
如果系統(tǒng)空間足夠的話,可以不用管它,更好不要禁用~~~~~~
記得采納啊
電腦修改虛擬內(nèi)存有什么用?
linux虛擬內(nèi)存有什么作用
虛擬內(nèi)存什么作用應(yīng)該不用說了吧,就是充當(dāng)內(nèi)存。
Linux的虛擬內(nèi)存也就是交換空間(SWAP)吧!判圓
1 查看系統(tǒng)swap space大?。?/p>
linux-jian:~ # free -m
total used free shared buffers cached
Mem:
-/+ buffers/cache:
Swap:
2 查看當(dāng)前的swap空間(file(s)/partition(s)):
linux-jian:~ # swapon -s
等價(jià)于
linux-jian:~ # cat /proc/swaps
3 添加交換空間
兩種選擇:添加一個(gè)交換分區(qū)或添加一個(gè)交換文件。推薦你添加一個(gè)交凳陸換分區(qū);不過,若你沒有多少空閑空間可用,則添加交換文件。
3.1 添加一個(gè)交換分區(qū)
步驟如下:
a 使用fdisk來創(chuàng)建交換分區(qū)(假設(shè) /dev/sdb2 是創(chuàng)建的交換分區(qū))
b 使用 mkswap 命令來設(shè)置交換分區(qū):
mkswap /dev/sdb2
c 啟用交換分區(qū):
swapon /dev/sdb2
d 寫入/etc/fstab,以便在引導(dǎo)時(shí)啟用:
/dev/sdb2 swap swap defaults 0 0
3.2 添加一個(gè)交換文件
a 創(chuàng)建大小為512M的交換文件:
dd if=/dev/zero of=/swapfile1 bs=1024 count=524288
b 使用 mkswap 命令來設(shè)置交換文掘粗塌件:
mkswap /swapfile1
c 啟用交換分區(qū):
swapon /swapfile1
d 寫入/etc/fstab,以便在引導(dǎo)時(shí)啟用:
/swapfile1 swap swap defaults 0 0
新添了交換分區(qū)并啟用它之后,請查看 cat /proc/swaps 或 free 命令的輸出來確保交換分區(qū)已被啟用了。
4 刪除交換空間:
a 禁用交換分區(qū):
swapoff /dev/sdb2
b 從 /etc/fstab 中刪除項(xiàng)目;
c 使用fdisk或yast工具刪除分區(qū)。
linux下的vm(虛擬內(nèi)存)和windows下的作用是一樣的,均是防止真實(shí)內(nèi)存資源不足準(zhǔn)備的.
linux的vm相關(guān)參數(shù)介紹
1. 保證linux有足夠的物理內(nèi)存,可以調(diào)整蔽絕vm的如下參數(shù)
vm.min_free_kbytes=409600;//默認(rèn)值是3797,保證物理內(nèi)存有足夠空閑空間,防止突發(fā)性換頁
vm.vfs_cache_pressure=200;//默認(rèn)是100,增大這個(gè)參數(shù)設(shè)置了虛擬內(nèi)存回收directory和i-node緩沖的傾向,這個(gè)值越大。越易回收
vm.swappiness=40 //缺省60,減少這個(gè)參數(shù)會(huì)使系統(tǒng)盡快通過swapout不使用的進(jìn)程資源來釋放更多的物理內(nèi)存
一般在rac的配置環(huán)境中配置這三個(gè)參數(shù),可以防止換頁引起節(jié)點(diǎn)短暫無響應(yīng),導(dǎo)致節(jié)點(diǎn)重啟
2. 改善io系統(tǒng)的性能
overcommit_memory = 0
vm.overcommit_ratio = 10 //默認(rèn)值是50,用于虛擬內(nèi)存的物理內(nèi)存的百分比
vm.dirty_ratio = 20 //默認(rèn)值是40,為了保持穩(wěn)定,持續(xù)的寫入,把這個(gè)值調(diào)整的小一些,經(jīng)驗(yàn)值是20
vm.dirty_background_ratio //缺省數(shù)值是500,也就是5秒,如果系統(tǒng)要求穩(wěn)定持續(xù)的寫,可以適當(dāng)降低該值,把峰值的寫操作平均多次,也避免宕機(jī)丟失更多的數(shù)據(jù)
vm.dirty_expire_centisecs //缺省是3000,也就是30秒,如果系統(tǒng)寫操作壓力很大,可以適當(dāng)減小該值褲并簡,但也不要太小;建議設(shè)置為 1500
vm的相關(guān)參數(shù)在/proc/sys目錄下
相關(guān)命令
sysctl -p //修改vm參數(shù)后,運(yùn)行這個(gè)命令可以立即生效
sysctl -a //查看所有的vm參數(shù)
與磁盤IO子系統(tǒng)有關(guān)的
/proc/sys/vm/dirty_ratio
這個(gè)參數(shù)控制文件系統(tǒng)的文件系統(tǒng)寫緩沖區(qū)的大小,單位是百分比,表示系統(tǒng)內(nèi)存的百分比,
表示當(dāng)寫緩沖使用到系統(tǒng)內(nèi)存多少的時(shí)候,開始向磁盤寫出數(shù)據(jù)。增大之會(huì)使用更多系統(tǒng)內(nèi)
存用于磁盤寫緩沖,也可以極大提高系統(tǒng)的寫性能。但是,當(dāng)你需要持續(xù)、恒定的寫入場合
時(shí),應(yīng)該降低其數(shù)值,一般啟動(dòng)上缺省是 10。下面是增大的方法:
echo ’40’ > /proc/sys/vm/dirty_ratio
/proc/sys/vm/dirty_background_ratio
這個(gè)參數(shù)控制文件系統(tǒng)的pdflush進(jìn)程,在何時(shí)刷新磁盤。單位是百分比,表示系統(tǒng)內(nèi)存的百
分比,意思是當(dāng)寫緩沖使用到系統(tǒng)內(nèi)存多少的時(shí)候,pdflush開始向磁盤寫出數(shù)據(jù)。增大之會(huì)
使用更多系統(tǒng)內(nèi)存用于磁盤寫緩沖,也可以極大提高系統(tǒng)的寫性能。但是,當(dāng)你需要持續(xù)、恒
定的寫入場合時(shí),應(yīng)該降低其數(shù)值,一般啟動(dòng)上缺省是 5。下面是增大胡褲的方法:
echo ’20’ > /proc/sys/vm/dirty_background_ratio
/proc/sys/vm/dirty_writeback_centisecs
這個(gè)參數(shù)控制內(nèi)核的臟數(shù)據(jù)刷新進(jìn)程pdflush的運(yùn)行間隔。單位是 1/100 秒。缺省數(shù)值是500,
也就是 5 秒。如果你的系統(tǒng)是持續(xù)地寫入動(dòng)作,那么實(shí)際上還是降低這個(gè)數(shù)值比較好,這樣可
以把尖峰的寫操作削平成多次寫操作。設(shè)置方法如下:
echo “200” > /proc/sys/vm/dirty_writeback_centisecs
如果你的系統(tǒng)是短期地尖峰式的寫操作,并且寫入數(shù)據(jù)不大(幾十M/次)且內(nèi)存有比較多富裕,那么應(yīng)該增大此數(shù)值:
echo “1000” > /proc/sys/vm/dirty_writeback_centisecs
/proc/sys/vm/dirty_expire_centisecs
這個(gè)參數(shù)聲明Linux內(nèi)核寫緩沖區(qū)里面的數(shù)據(jù)多“舊”了之后,pdflush進(jìn)程就開始考慮寫到磁盤中去。
單位是 1/100秒。缺省是 3000,也就是 30 秒的數(shù)據(jù)就算舊了,將會(huì)刷新磁盤。對于特別重載的寫
操作來說,這個(gè)值適當(dāng)縮小也是好的,但也不能縮小太多,因?yàn)榭s小太多也會(huì)導(dǎo)致IO提高太快。建
議設(shè)置為 1500,也就是15秒算舊。
echo “1500” > /proc/sys/vm/dirty_expire_centisecs
當(dāng)然,如果你的系統(tǒng)內(nèi)存比較大,并且寫入模式是間歇式的,并且每次寫入的數(shù)據(jù)不大(比如幾十M),
那么這個(gè)值還是大些的好。
與網(wǎng)絡(luò)IO子系統(tǒng)有關(guān)的
/proc/sys/net/ipv4/tcp_retrans_collapse
這個(gè)參數(shù)控制TCP雙方Window協(xié)商出現(xiàn)錯(cuò)誤的時(shí)候的一些重傳的行為。但是在老的2.6的核
( /proc/sys/net/ipv4/tcp_retrans_collapse
提高Linux應(yīng)對短連接的負(fù)載能力
在存在大量短連接的情況下,Linux的TCP棧一般都會(huì)生成大量的 TIME_WAIT 狀態(tài)的socket。
你可以用下面的命令看到:
netstat -ant| grep -i time_wait
有時(shí)候,這個(gè)數(shù)目是驚人的:
netstat -ant|grep -i time_wait |wc -l
可能會(huì)超過三四萬。這個(gè)時(shí)候,我們需要修改 linux kernel 的 tcp time wait的時(shí)間,縮短之,
有個(gè) sysctl 參數(shù)貌似可以使用,它是 /proc/sys/net/ipv4/tcp_fin_timeout,缺省值是 60,
也就是60秒,很多網(wǎng)上的資料都說將這個(gè)數(shù)值設(shè)置低一些就可以減少netstat 里面的TIME_WAIT狀態(tài),
但是這個(gè)說法是錯(cuò)誤的。經(jīng)過認(rèn)真閱讀Linux的內(nèi)核源代碼,我們發(fā)現(xiàn)這個(gè)數(shù)值其實(shí)是輸出用的,
修改之后并沒有真正的讀回內(nèi)核中進(jìn)行使用,而內(nèi)核中真正管用的是一個(gè)宏定義,在
$KERNEL/include/net/tcp.h里面,有下面的行:
#define TCP_TIMEWAIT_LEN (60*HZ) /* how long to wait to destroy TIME-WAIT
* state, about 60 seconds */
而這個(gè)宏是真正控制 TCP TIME_WAIT 狀態(tài)的超時(shí)時(shí)間的。如果我們希望減少 TIME_WAIT 狀態(tài)的數(shù)目
(從而節(jié)省一點(diǎn)點(diǎn)內(nèi)核操作時(shí)間),那么可以把這個(gè)數(shù)值設(shè)置低一些,根據(jù)我們的測試,設(shè)置為 10
秒比較合適,也就是把上面的修改為:
#define TCP_TIMEWAIT_LEN (10*HZ) /* how long to wait to destroy TIME-WAIT
* state, about 60 seconds */
然后重新編譯內(nèi)核,重啟系統(tǒng)即可發(fā)現(xiàn)短連接造成的TIME_WAIT狀態(tài)大大減少:
netstat -ant | grep -i time_wait |wc -l
一般情況都可以至少減少2/3。也能相應(yīng)提高系統(tǒng)應(yīng)對短連接的速度。
/proc/irq/{number}/p_affinity
在多 CPU 的環(huán)境中,還有一個(gè)中斷平衡的問題,比如,網(wǎng)卡中斷會(huì)教給哪個(gè) CPU 處理,
這個(gè)參數(shù)控制哪些 CPU 可以綁定 IRQ 中斷。其中的 {number} 是對應(yīng)設(shè)備的中斷編號,
可以用下面的命令找出:
cat /proc/interrupt
比如,一般 eth0 的 IRQ 編號是 16,所以控制 eth0 中斷綁定的 /proc 文件名是
/proc/irq/16/p_affinity。上面這個(gè)命令還可以看到某些中斷對應(yīng)的CPU處理的次數(shù),
缺省的時(shí)候肯定是不平衡的。
設(shè)置其值的方法很簡單,p_affinity 自身是一個(gè)位掩碼(bitmask),特定的位對應(yīng)特
定的 CPU,這樣,01 就意味著只有之一個(gè) CPU 可以處理對應(yīng)的中斷,而 0f(0x1111)
意味著四個(gè) CPU 都會(huì)參與中斷處理。
幾乎所有外設(shè)都有這個(gè)參數(shù)設(shè)置,可以關(guān)注一下。
這個(gè)數(shù)值的推薦設(shè)置,其實(shí)在很大程度上,讓專門的CPU處理專門的中斷是效率更高的,比如,
給磁盤IO一個(gè)CPU,給網(wǎng)卡一個(gè)CPU,這樣是比較合理的。
你說的虛擬內(nèi)存就是swap,Swap分區(qū),即交換區(qū),Swap空間的廳模作用可簡單描述為:當(dāng)系統(tǒng)的物理內(nèi)存不夠用的時(shí)候,就需要將物理內(nèi)存中的一部分空間釋放出來,以供當(dāng)前運(yùn)行的程序使用。那些被釋放的空間可能來自一些很長時(shí)間沒有什么操作的程序,這些被釋放的空間被臨時(shí)保存到Swap空間中,等到那些程序要運(yùn)行時(shí)扮世緩,再從Swap中恢復(fù)保存的數(shù)據(jù)到內(nèi)存中。這樣,系統(tǒng)總是在物理內(nèi)存不夠時(shí),才進(jìn)行Swap交換。其實(shí),Swap的調(diào)整對Linux服務(wù)器,特別是Web服務(wù)器的性能至關(guān)重要。通過調(diào)整Swap,有時(shí)可以越返旅過系統(tǒng)性能瓶頸,節(jié)省系統(tǒng)升級費(fèi)用。
swap可以通過安裝時(shí)分配swap分區(qū),或者通過mkswap命令手動(dòng)添加
不要開機(jī),有設(shè)置的地方,虛擬內(nèi)存其實(shí)就跟現(xiàn)實(shí)一森洞磨樣的,顫喚你設(shè)置了多少,那么它就會(huì)此斗占用物理內(nèi)存,如果配置太低,不建議用虛擬機(jī),也用不了,罪多也就讓你開一臺(tái)虛擬機(jī)
虛擬內(nèi)世仿羨存所為了防止內(nèi)存溢出緩沖的一個(gè)搜拍空間
dd if=/dev/大世zero of=/home/swap bs=1024 count=#創(chuàng)建一個(gè)swap文件
mkswap /home/swap #格式化swap空間格式
swapon /home/swap #開啟使用swap空間(使用swapoff swapfile命令關(guān)閉)
free -m 查看內(nèi)存
linux虛擬內(nèi)存增長的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux虛擬內(nèi)存增長,快速了解Linux虛擬內(nèi)存增長的原因、影響及解決方法,提高虛擬內(nèi)存有什么用?,linux虛擬內(nèi)存有什么作用的信息別忘了在本站進(jìn)行查找喔。
創(chuàng)新互聯(lián)服務(wù)器托管擁有成都T3+級標(biāo)準(zhǔn)機(jī)房資源,具備完善的安防設(shè)施、三線及BGP網(wǎng)絡(luò)接入帶寬達(dá)10T,機(jī)柜接入千兆交換機(jī),能夠有效保證服務(wù)器托管業(yè)務(wù)安全、可靠、穩(wěn)定、高效運(yùn)行;創(chuàng)新互聯(lián)專注于成都服務(wù)器托管租用十余年,得到成都等地區(qū)行業(yè)客戶的一致認(rèn)可。
本文名稱:快速了解Linux虛擬內(nèi)存增長的原因、影響及解決方法(linux虛擬內(nèi)存增長)
轉(zhuǎn)載源于:http://fisionsoft.com.cn/article/djgoogp.html


咨詢
建站咨詢
