欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁(yè) > 知識(shí)庫(kù) > Linux 內(nèi)存機(jī)制詳解寶典

Linux 內(nèi)存機(jī)制詳解寶典

熱門標(biāo)簽:好操作的電話機(jī)器人 400電話辦理 誠(chéng)薦翰諾科技 電話機(jī)器人客戶對(duì)話 谷歌美發(fā)店地圖標(biāo)注入駐 地圖標(biāo)注路線軟件 地圖標(biāo)注機(jī)位 為什么地圖標(biāo)注后不顯示 大連遼寧電銷機(jī)器人 了不起的修仙模擬器地圖標(biāo)注

一. 我們先來(lái)查看一個(gè)內(nèi)存使用的例子:

[oracle@db1 ~]$ free -m

                total       used       free     shared    buffers     cached

Mem:        72433     67075      5357      0        558       62221

-/+ buffers/cache:     4295      68138

Swap:        72096      91       72004

 上述結(jié)果顯示了67075Mused,但是(-/+ buffers/cache)減去bufferscache的結(jié)果可以看到,所以當(dāng)前進(jìn)程實(shí)際占用內(nèi)存是4296M。

 可以這么理解:在linux的內(nèi)存分配機(jī)制中,優(yōu)先使用物理內(nèi)存,當(dāng)物理內(nèi)存還有空閑時(shí)(還夠用),不會(huì)釋放其占用內(nèi)存,就算占用內(nèi)存的程序已經(jīng)被關(guān)閉了,該程序所占用的內(nèi)存用來(lái)做緩存使用,對(duì)于開啟過(guò)的程序、或是讀取剛存取過(guò)得數(shù)據(jù)會(huì)比較快。

 如上面的例子:使用了72433M的內(nèi)存,67075M被占用,但是buuffercached部分作為緩存,可以使用命中率的方式提高使用效率,而且這部分緩存是根據(jù)指令隨時(shí)可以釋放的,我們可以認(rèn)為這部分內(nèi)存沒有實(shí)際被使用,也可以認(rèn)為它是空閑的。

 因此查看目前進(jìn)程正在實(shí)際被使用的內(nèi)存,是used-(buffers+cache),也可以認(rèn)為如果swap沒有大量使用,mem還是夠用的,只有mem被當(dāng)前進(jìn)程實(shí)際占用完(沒有了bufferscache),才會(huì)使用到swap的。

二. Swap配置對(duì)性能的影響
分配太多的Swap空間會(huì)浪費(fèi)磁盤空間,而Swap空間太少,則系統(tǒng)會(huì)發(fā)生錯(cuò)誤。 如果系統(tǒng)的物理內(nèi)存用光了,系統(tǒng)就會(huì)跑得很慢,但仍能運(yùn)行;如果Swap空間用光了,那么系統(tǒng)就會(huì)發(fā)生錯(cuò)誤。例如,Web服務(wù)器能根據(jù)不同的請(qǐng)求數(shù)量衍生出多個(gè)服務(wù)進(jìn)程(或線程),如果Swap空間用完,則服務(wù)進(jìn)程無(wú)法啟動(dòng),通常會(huì)出現(xiàn)“application is out of memory”的錯(cuò)誤,嚴(yán)重時(shí)會(huì)造成服務(wù)進(jìn)程的死鎖。因此Swap空間的分配是很重要的。


通常情況下,Swap空間應(yīng)大于或等于物理內(nèi)存的大小,最小不應(yīng)小于64M,通常Swap空間的大小應(yīng)是物理內(nèi)存的2-2.5倍。但根據(jù)不同的應(yīng)用,應(yīng)有不同的配置:如果是小的桌面系統(tǒng),則只需要較小的Swap空間,而大的服務(wù)器系統(tǒng)則視情況不同需要不同大小的Swap空間。特別是數(shù)據(jù)庫(kù)服務(wù)器和Web服務(wù)器,隨著訪問量的增加,對(duì)Swap空間的要求也會(huì)增加,一般來(lái)說(shuō)對(duì)于4G 以下的物理內(nèi)存,配置2倍的swap4G 以上配置1。

另外,Swap分區(qū)的數(shù)量對(duì)性能也有很大的影響。因?yàn)?/span>Swap交換的操作是磁盤IO的操作,如果有多個(gè)Swap交換區(qū),Swap空間的分配會(huì)以輪流的方式操作于所有的Swap,這樣會(huì)大大均衡IO的負(fù)載,加快Swap交換的速度。如果只有一個(gè)交換區(qū),所有的交換操作會(huì)使交換區(qū)變得很忙,使系統(tǒng)大多數(shù)時(shí)間處于等待狀態(tài),效率很低。用性能監(jiān)視工具就會(huì)發(fā)現(xiàn),此時(shí)的CPU并不很忙,而系統(tǒng)卻慢。這說(shuō)明,瓶頸在IO上,依靠提高CPU的速度是解決不了問題的。
.  Linux 內(nèi)存機(jī)制

Linux支持虛擬內(nèi)存(Virtual Mmemory),虛擬內(nèi)存是指使用磁盤當(dāng)作RAM的擴(kuò)展,這樣可用的內(nèi)存的大小就相應(yīng)地增大了。內(nèi)核會(huì)將暫時(shí)不用的內(nèi)存塊的內(nèi)容寫到硬盤上,這樣一來(lái),這塊內(nèi)存就可用于其它目的。當(dāng)需要用到原始的內(nèi)容時(shí),它們被重新讀入內(nèi)存。這些操作對(duì)用戶來(lái)說(shuō)是完全透明的;Linux下運(yùn)行的程序只是看到有大量的內(nèi)存可供使用而并沒有注意到時(shí)不時(shí)它們的一部分是駐留在硬盤上的。當(dāng)然,讀寫硬盤要比直接使用真實(shí)內(nèi)存慢得多(要慢數(shù)千倍),所以程序就不會(huì)象一直在內(nèi)存中運(yùn)行的那樣快。用作虛擬內(nèi)存的硬盤部分被稱為交換空間(Swap Space)。

 一般,在交換空間中的頁(yè)面首先被換入內(nèi)存;如果此時(shí)沒有足夠的物理內(nèi)存來(lái)容納它們又將被交換出來(lái)(到其他的交換空間中)。如果沒有足夠的虛擬內(nèi)存來(lái)容納所有這些頁(yè)面,Linux就會(huì)波動(dòng)而不正常;但經(jīng)過(guò)一段較長(zhǎng)的時(shí)間Linux會(huì)恢復(fù),但此時(shí)系統(tǒng)已不可用了。
有時(shí),盡管有許多的空閑內(nèi)存,仍然會(huì)有許多的交換空間正被使用。這種情況是有可能發(fā)生的,例如如果在某一時(shí)刻有進(jìn)行交換的必要,但后來(lái)一個(gè)占用很多物理內(nèi)存的大進(jìn)程結(jié)束并釋放內(nèi)存時(shí)。被交換出的數(shù)據(jù)并不會(huì)自動(dòng)地交換進(jìn)內(nèi)存,除非有這個(gè)需要時(shí)。此時(shí)物理內(nèi)存會(huì)在一段時(shí)間內(nèi)保持空閑狀態(tài)。對(duì)此并沒有什么可擔(dān)心的,但是知道了是怎么一回事,也就無(wú)所謂了。
許多操作系統(tǒng)使用了虛擬內(nèi)存的方法。因?yàn)樗鼈儍H在運(yùn)行時(shí)才需要交換空間,以解決不會(huì)在同一時(shí)間使用交換空間,因此,除了當(dāng)前正在運(yùn)行的操作系統(tǒng)的交換空間,其它的就是一種浪費(fèi)。所以讓它們共享一個(gè)交換空間將會(huì)更有效率。
注意如果會(huì)有幾個(gè)人同時(shí)使用這個(gè)系統(tǒng),他們都將消耗內(nèi)存。然而,如果兩個(gè)人同時(shí)運(yùn)行一個(gè)程序,內(nèi)存消耗的總量并不是翻倍,因?yàn)榇a頁(yè)以及共享的庫(kù)只存在一份。


Linux系統(tǒng)常常動(dòng)不動(dòng)就使用交換空間,以保持盡可能多的空閑物理內(nèi)存。即使并沒有什么事情需要內(nèi)存,Linux也會(huì)交換出暫時(shí)不用的內(nèi)存頁(yè)面。這可以避免等待交換所需的時(shí)間:當(dāng)磁盤閑著,就可以提前做好交換??梢詫⒔粨Q空間分散在幾個(gè)硬盤之上。針對(duì)相關(guān)磁盤的速度以及對(duì)磁盤的訪問模式,這樣做可以提高性能。


與訪問物理內(nèi)存相比,磁盤的讀寫是很慢的。另外,在相應(yīng)較短的時(shí)間內(nèi)多次讀磁盤同樣的部分也是常有的事。例如,某人也許首先閱讀了一段E-mail消息,然后為了答復(fù)又將這段消息讀入編輯器中,然后又在將這個(gè)消息拷貝到文件夾中時(shí),使得郵件程序又一次讀入它?;蛘呖紤]一下在一個(gè)有著許多用戶的系統(tǒng)中 ls命令會(huì)被使用多少次。通過(guò)將信息從磁盤上僅讀入一次并將其存于內(nèi)存中,除了第一次讀以外,可以加快所有其它讀的速度。這叫作磁盤緩沖(Disk Buffering),被用作此目的的內(nèi)存稱為高速緩沖(Buffer Cache)。但是,由于內(nèi)存是一種有限而又不充足的資源,高速緩沖不可能做的很大(它不可能包容要用到的所有數(shù)據(jù))。當(dāng)緩沖充滿了數(shù)據(jù)時(shí),其中最長(zhǎng)時(shí)間不用的數(shù)據(jù)將被舍棄以騰出內(nèi)存空間用于新的數(shù)據(jù)。


對(duì)寫磁盤操作來(lái)說(shuō)磁盤緩沖技術(shù)同樣有效。一方面,被寫入磁盤的數(shù)據(jù)常常會(huì)很快地又被讀出(例如,原代碼文件被保存到一個(gè)文件中,又被編譯器讀入),所以將要被寫的數(shù)據(jù)放入緩沖中是個(gè)好主意。另一方面,通過(guò)將數(shù)據(jù)放入緩沖中,而不是將其立刻寫入磁盤,程序可以加快運(yùn)行的速度。以后,寫的操作可以在后臺(tái)完成,而不會(huì)拖延程序的執(zhí)行。

大多數(shù)操作系統(tǒng)都有高速緩沖(盡管可能稱呼不同),但是并不是都遵守上面的原理。有些是直接寫(Write-Through)數(shù)據(jù)將被立刻寫入磁盤(當(dāng)然,數(shù)據(jù)也被放入緩存中)。如果寫操作是在以后做的,那么該緩存被稱為后臺(tái)寫(Write-Back)。后臺(tái)寫比直接寫更有效,但也容易出錯(cuò):如果機(jī)器崩潰,或者突然掉電,緩沖中改變過(guò)的數(shù)據(jù)就被丟失了。如果仍未被寫入的數(shù)據(jù)含有重要的薄記信息,這甚至可能意味著文件系統(tǒng)(如果有的話)已不完整。
針對(duì)以上的原因,出現(xiàn)了很多的日志文件系統(tǒng),數(shù)據(jù)在緩沖區(qū)修改后,同時(shí)會(huì)被文件系統(tǒng)記錄修改信息,這樣即使此時(shí)系統(tǒng)掉電,系統(tǒng)重啟后會(huì)首先從日志記錄中恢復(fù)數(shù)據(jù),保證數(shù)據(jù)不丟失。當(dāng)然這些問題不再本文的敘述范圍。
由于上述原因,在使用適當(dāng)?shù)年P(guān)閉過(guò)程之前,絕對(duì)不要關(guān)掉電源,Sync命令傾空(Flushes)緩沖,也即,強(qiáng)迫所有未被寫的數(shù)據(jù)寫入磁盤,可用以確定所有的寫操作都已完成。在傳統(tǒng)的UNIX系統(tǒng)中,有一個(gè)叫做update的程序運(yùn)行于后臺(tái),每隔30秒做一次sync操作,因此通常無(wú)需手工使用sync命令了。Linux另外有一個(gè)后臺(tái)程序,Bdflush,這個(gè)程序執(zhí)行更頻繁的但不是全面的同步操作,以避免有時(shí)sync的大量磁盤I/O操作所帶來(lái)的磁盤的突然凍結(jié)。
Linux中,Bdflush是由update啟動(dòng)的。通常沒有理由來(lái)?yè)?dān)心此事,但如果由于某些原因bdflush進(jìn)程死掉了,內(nèi)核會(huì)對(duì)此作出警告,此時(shí)你就要手工地啟動(dòng)它了(/sbin/update)。

緩存(Cache)實(shí)際并不是緩沖文件的,而是緩沖塊的,塊是磁盤I/O操作的最小單元(Linux中,它們通常是1KB)。這樣,目錄、超級(jí)塊、其它文件系統(tǒng)的薄記數(shù)據(jù)以及非文件系統(tǒng)的磁盤數(shù)據(jù)都可以被緩沖了。緩沖的效力主要是由它的大小決定的。緩沖太小的話等于沒用。它只能容納一點(diǎn)數(shù)據(jù),因此在被重用時(shí),所有緩沖的數(shù)據(jù)都將被傾空。實(shí)際的大小依賴于數(shù)據(jù)讀寫的頻次、相同數(shù)據(jù)被訪問的頻率。只有用實(shí)驗(yàn)的方法才能知道。
如果緩存有固定的大小,那么緩存太大了也不好,因?yàn)檫@會(huì)使得空閑的內(nèi)存太小而導(dǎo)致進(jìn)行交換操作(這同樣是慢的)。為了最有效地使用實(shí)際內(nèi)存,Linux自動(dòng)地使用所有空閑的內(nèi)存作為高速緩沖,當(dāng)程序需要更多的內(nèi)存時(shí),它也會(huì)自動(dòng)地減小緩沖的大小。 

這就是一般情況下Linux內(nèi)存的一般機(jī)制,真正的Linux內(nèi)存的運(yùn)行機(jī)制遠(yuǎn)遠(yuǎn)比這個(gè)復(fù)雜。 

標(biāo)簽:龍巖 淘寶邀評(píng) 眉山 遼陽(yáng) 大興安嶺 延邊 北海 南陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux 內(nèi)存機(jī)制詳解寶典》,本文關(guān)鍵詞  Linux,內(nèi)存,機(jī)制,詳解,寶典,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux 內(nèi)存機(jī)制詳解寶典》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Linux 內(nèi)存機(jī)制詳解寶典的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    超碰人人cao| 狠狠色狠狠色综合| 国产美女娇喘av呻吟久久| 欧美性xxxx图片| 91精品国产综合久久久久久漫画 | 欧美一级一级性生活免费录像| 亚洲尤物视频在线| 丰满人妻一区二区三区53视频| 欧亚一区二区三区| 亚洲自拍欧美精品| 国偷自产av一区二区三区麻豆| 欧美午夜寂寞影院| 亚洲一区在线电影| jjzz黄色片| 欧美一区二区免费观在线| 日日夜夜精品视频免费| 中文字幕一区二区三区人妻| 精品人伦一区二区色婷婷| 激情五月激情综合网| 国产又粗又长又硬| 国产精品高清亚洲| 99精品热视频| 欧美亚洲动漫另类| 日韩国产高清在线| 女人十八毛片嫩草av| 欧美韩国日本综合| 99re这里只有精品视频首页| 精品视频1区2区3区| 亚洲h动漫在线| 日韩欧美一区二区在线视频| 视频一区二区中文字幕| 受虐m奴xxx在线观看| 国产欧美日韩在线| 不卡av电影在线播放| 欧美日韩精品三区| 免费成人在线网站| 黄色裸体一级片| 国产精品久久久久久久久动漫| 91啪亚洲精品| 欧美一区二区视频观看视频| 国内精品久久久久影院薰衣草 | 欧美韩日一区二区三区四区| 北岛玲一区二区三区四区| 欧美色区777第一页| 奇米精品一区二区三区在线观看 | fc2成人免费人成在线观看播放| 在线精品视频免费观看| 日韩精品免费视频人成| a级黄色免费视频| 中文字幕一区二区三区色视频| 韩国三级在线播放| 欧美tk丨vk视频| 成人毛片老司机大片| 欧美日韩成人一区| 韩国一区二区三区| 欧美亚洲国产一区二区三区| 麻豆一区二区在线| 久久久久久久久久网站| 日韩精品每日更新| 澳门黄色一级片| 日韩av网站在线观看| 无码黑人精品一区二区| 天天影视色香欲综合网老头| 很污很黄的网站| 亚洲电影视频在线| 亚洲精品久久久久久国| 午夜视黄欧洲亚洲| 日韩a级片在线观看| 日本伊人色综合网| 色一区在线观看| 美女网站在线免费欧美精品| 在线影视一区二区三区| 精久久久久久久久久久| 欧美日本一区二区在线观看| 国产精品影音先锋| 日韩一级免费观看| 91香蕉视频在线| 国产日韩精品一区| 毛茸茸多毛bbb毛多视频| 亚洲三级免费电影| 色噜噜噜噜噜噜| 天堂蜜桃91精品| 色欲综合视频天天天| 激情综合网天天干| 欧美精品色综合| 不卡的电视剧免费网站有什么| 精品对白一区国产伦| www.四虎精品| ...xxx性欧美| 在线观看天堂av| 老司机免费视频一区二区| 欧美在线观看视频在线| 顶级嫩模精品视频在线看| 精品少妇一区二区三区日产乱码| 中文字幕亚洲日本| 17c精品麻豆一区二区免费| 蜜桃av乱码一区二区三区| 日韩精品一卡二卡三卡四卡无卡| 在线看日韩精品电影| 丁香婷婷深情五月亚洲| 国产午夜三级一区二区三| 免费看污黄网站在线观看| 亚洲成a人片在线不卡一二三区| 日本道在线观看一区二区| 国产馆精品极品| 国产精品300页| 中国av一区二区三区| 四虎成人免费影院| 久久99久久99小草精品免视看| 制服丝袜av成人在线看| 亚洲av综合色区无码另类小说| 亚洲天堂成人在线观看| 亚洲天堂黄色片| 国产不卡一区视频| 欧美激情一区二区三区全黄| 亚洲一级黄色录像| 韩国女主播一区二区三区| 日韩精品影音先锋| 草草影院第一页| 免费的国产精品| 黑人巨大精品欧美| 精品久久久久久久久久久院品网| 午夜性福利视频| 亚洲一区二区三区四区在线观看 | 国产精一品亚洲二区在线视频| 精品国产一区二区三区久久久蜜月| 蜜桃精品成人影片| 琪琪久久久久日韩精品| 欧美xxxx在线观看| 精品成人无码一区二区三区| 久久成人免费日本黄色| 久久亚洲影视婷婷| 青青青视频在线免费观看| 久久99久久99| 国产蜜臀97一区二区三区| 91香蕉一区二区三区在线观看| 丁香五精品蜜臀久久久久99网站 | 日本女人性视频| 亚洲第一福利一区| 日韩一区国产二区欧美三区| 超碰97人人干| 国产自产v一区二区三区c| 中文字幕不卡在线播放| 国产高清在线免费观看| 精产国品一区二区三区| 三级久久三级久久久| 精品久久久久99| 免费黄色国产视频| 成人av电影免费在线播放| 亚洲黄一区二区三区| 在线不卡免费欧美| 成都免费高清电影| 国产91在线观看| 一区二区三区成人在线视频| 91精品国产高清一区二区三区蜜臀 | 国产又大又粗又爽的毛片| 久久精品国产77777蜜臀| 国产亚洲成aⅴ人片在线观看| 精品无码久久久久成人漫画| 国产成人精品一区二区在线小狼| 日韩高清不卡一区二区| 26uuuu精品一区二区| 天天做夜夜爱爱爱| 久久久久久久久久久久国产精品| 麻豆久久久久久久| 国产精品久久毛片| 欧美精品免费视频| 国产午夜精品久久久久久久久| 99麻豆久久久国产精品免费优播| 天天综合网 天天综合色| 国产亚洲短视频| 欧美日韩亚洲高清一区二区| 自拍偷拍中文字幕| 波多野结衣精品在线| 日本最新不卡在线| 国产精品久久久久久久第一福利| 欧美日韩中文字幕精品| 高清国产在线观看| 午夜性福利视频| 国产一本一道久久香蕉| 亚洲综合区在线| 久久中文娱乐网| 欧美三级中文字| 性少妇xx生活| 手机在线成人av| 粉嫩av亚洲一区二区图片| 三级成人在线视频| 国产精品成人免费| 欧美mv和日韩mv国产网站| 日本高清免费不卡视频| 亚洲欧洲久久久| 色哟哟网站在线观看| 国产成人免费xxxxxxxx| 日韩av在线发布| 亚洲精品美腿丝袜| 国产欧美精品国产国产专区| 91麻豆精品国产自产在线观看一区| 日韩在线一卡二卡| 亚洲AV无码片久久精品| 中文字幕avav|