記憶體與換頁空間的探討
?2019年7月2日夜班,發現監控報資料中心記憶體使用率高達91%,由此引發出以下對記憶體以及換頁空間相關問題的查詢、處理的討論。
?一、首先要先解釋什么是記憶體,什么是換頁空間,它們的作用是什么,什么情況下需要做出什么樣的處理方案。
?記憶體:計算機中所有程式的運行都是在記憶體中運行的,CPU不能直接與硬碟進行互動,所以記憶體是CPU與磁盤溝通的橋梁,記憶體的運行決定了計算機的穩定運行。
?換頁空間:可以簡單的理解為記憶體空間的擴展,它其實是將硬碟上讀取速度最快的那一部分虛擬成記憶體,CPU在記憶體中無法命中的資料才會到換頁空間中尋找。
?對于二者的關系,我們可以這樣去理解:有這樣一個籃球場,假設這個籃球場只能容納兩個球隊共10個人打球賽,我們就把這個球場總容納量10人看作是記憶體,把其上的兩方球隊看作是兩顆CPU在讀取資料,現在又有第三個人想參加到球賽中,那么,此時第三個人就需要在球場外面等待,此時他所在的等待區就可以理解為換頁空間,只有球場的位置空余出來(比如小明累了,換其他人替補),外面的才能進去,所以換頁空間其實也可以看作是一個緩沖區。
?二、記憶體到底是越高越好還是越低越好?
?比如今天監控報警發現記憶體使用率已經達到91%,那么到底需不需要處理呢?我們得從以下幾個方向去考慮。
?第一點,首先要清楚一點,記憶體使用率高不一定不好,從理想的角度考慮,記憶體使用率越高,說明利用率越好,資源達到合理的分配,當然此種情況建立在記憶體還繼續可用的情況下。比如一個運行穩定的計算程式,不做他用,只為固定量的計算而生,那么它的記憶體使用率當然越高些越好,從而達到資源利用率最大。但是要注意的是,在實際的生產環境中,以機場為例,當然是越低些越好,畢竟實際的生產環境下,要盡可能保留足夠的記憶體才能保證系統的性能不會因為記憶體不夠而受到影響。
?第二點,記憶體達到了91%是不是需要立刻通知系統管理員進行處理呢?我的看法是要結合換頁空間一起去看,綜合起來之后再做決定。舉個簡單的例子:假設記憶體使用率已經達到99%,而換頁空間的使用率也已經達到了30%左右,那么估計就要出大事了,系統出問題的幾率極大。所以,我認為,一般來說記憶體使用率達到了90%,甚至是80%,我們就需要關注一下了,然后再查一查換頁空間,如果SWAP的使用率在10%以內,可以持續關注,不用大驚小怪,如果在30%左右,必須采取相應的措施,通知到相應的管理員進行處理。
?
?三、記憶體使用率過高如何處理
?1、對相應行程所涉及的相關應用程式進行啟停(不是殺行程)
?2、擴充記憶體,或者更改虛擬記憶體的容量
?3、重啟服務器
?4、殺行程
?注意:之所以把“殺行程”放在最后,是因為本人不建議采用這種方法去釋放記憶體,因為這樣容易導致誤操作。舉個例子,如果你殺行程時殺掉了init行程,那么恭喜你你的機器掛掉了。所以我不提議采用第四種方法釋放記憶體。
以上內容純屬個人見解,不喜勿噴,當然了我更喜歡讀者們指出問題,共同討論,一起徜徉在知識的海洋。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/19943.html
標籤:其他
下一篇:怎么自動批量提交網頁表格
