Centos內(nèi)存使用與優(yōu)化技巧

Linux服務(wù)器分配真實(shí)與虛擬內(nèi)存給處理器,通過交換管理內(nèi)存使用率。明白Linux內(nèi)存類型以及處理器如何共享內(nèi)存有助于優(yōu)化內(nèi)存使用率。
從Linux內(nèi)核start-up執(zhí)行程序進(jìn)程分配內(nèi)存,需要虛擬內(nèi)存總和。Linux上的虛擬內(nèi)存是無(wú)限的,處理器在啟動(dòng)時(shí)就能分配內(nèi)存。Linux內(nèi)核映射通過交換能分配虛擬內(nèi)存到實(shí)際內(nèi)存。
與Windows不同,內(nèi)存交換會(huì)讓程序慢下來(lái),Linux內(nèi)存交換是有益的,這得感謝Linux分析進(jìn)程所分配的內(nèi)存頁(yè)使用的方式。Linux內(nèi)核運(yùn)行最近使用算法,確定哪些內(nèi)存頁(yè)需要進(jìn)入RAM哪些不需要。某些情況下,讓Linux內(nèi)核交換更快速能提升內(nèi)存性能。
一個(gè)程序的進(jìn)程通常需要比實(shí)際需求更多的虛擬內(nèi)存。在Linux的頂級(jí)程序中,虛擬內(nèi)存需求出現(xiàn)在VIRT與常駐內(nèi)存(RAA)卷中。當(dāng)進(jìn)程開始使用分配給的內(nèi)存頁(yè)做事時(shí),頁(yè)面移到RAM,作為RSS顯示。監(jiān)控Linux內(nèi)核內(nèi)存使用率讓管理員只保留這些頻繁使用的內(nèi)存頁(yè)。不常使用的存取頁(yè)可通過內(nèi)核或交換丟棄。
Linux服務(wù)器上的進(jìn)程使用匿名內(nèi)存,與代碼以及數(shù)據(jù)相關(guān)的文件內(nèi)存。匿名內(nèi)存必須直接可用,因此,如果內(nèi)存資源有壓力,標(biāo)注為匿名內(nèi)存的頁(yè)就應(yīng)該進(jìn)行交換。
數(shù)據(jù)內(nèi)存又是另一回事了。當(dāng)一個(gè)進(jìn)程從磁盤讀數(shù)據(jù)時(shí),保留在緩存中,允許在下次需要數(shù)據(jù)時(shí)進(jìn)程快速提供數(shù)據(jù)。在內(nèi)存壓力下,內(nèi)核可以丟棄數(shù)據(jù)內(nèi)存。移動(dòng)未使用的文件內(nèi)存到交換是沒有性能益處的,丟棄是個(gè)更好的選擇。
在決定丟棄或交換內(nèi)存時(shí),Linux內(nèi)核區(qū)分活躍與不活躍內(nèi)存。如果不活躍的內(nèi)存近期未用,那么將其移到交換或直接丟棄顯然沒有害處。/proc/meminfo文件顯示匿名與文件內(nèi)存的活躍與不活躍內(nèi)存之間的差別,如下圖1所示。
圖1:來(lái)自Linux內(nèi)核活躍內(nèi)存與不活躍內(nèi)存的差別
[root@IAD ~]# less /proc/meminfo
MemTotal: 7971636 kB
MemFree: 2653648 kB
Buffers: 250868 kB
Cached: 2974052 kB
SwapCached: 0 kB
Active: 2530380 kB
Inactive: 2323604 kB
Active(anon): 1633532 kB
Inactive(anon): 125712 kB
Active(file): 896848 kB
Inactive(file): 2197892 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 10059772 kB
SwapFree: 10059772 kB
Dirty: 132 kB
Writeback: 0 kB
AnonPages: 1629052 kB
Mapped: 162396 kB
Shmem: 130192 kB
Slab: 296332 kB
SReclaimable: 233344 kB
SUnreclaim: 62988 kB
在這個(gè)例子中,有大量活躍的匿名內(nèi)存,少量的不活躍匿名內(nèi)存。如果系統(tǒng)處于內(nèi)存壓力下,內(nèi)核將移動(dòng)125MB的不活躍匿名內(nèi)存到交換。不應(yīng)該交換標(biāo)志為活躍頁(yè)內(nèi)存的1.6GB內(nèi)存,因?yàn)閮?nèi)存頁(yè)經(jīng)常需要在RAM與磁盤之間移動(dòng),這樣就會(huì)降低性能。如果過交換的量大于不活躍(匿名)內(nèi)存,你應(yīng)該添加更多RAM優(yōu)化Linux內(nèi)存頁(yè)。
對(duì)于理想的Linux內(nèi)存頁(yè),實(shí)際使用的交換總量不應(yīng)該多余不活躍(匿名)內(nèi)存頁(yè)的量。活躍(文件)內(nèi)存的量等于內(nèi)核所需的緩存內(nèi)存的量。否則,就不能提升服務(wù)器性能。
當(dāng)內(nèi)核需要更多內(nèi)存時(shí),標(biāo)志為不活躍的文件內(nèi)存將被丟棄。由于Linux內(nèi)核無(wú)法更好處理,那么不活躍文件內(nèi)存保留在緩存中。如果數(shù)據(jù)丟棄也不會(huì)有影響。
相關(guān)文章
- 一臺(tái)老的PHP后臺(tái)服務(wù)器,今天用 free -m 查看,發(fā)現(xiàn)內(nèi)存跑滿了。再 top,然后按下shift+m,也就是按內(nèi)存占用百分比排序,發(fā)現(xiàn)排在第一的進(jìn)程,才占用0.9%,那是什么占用的2016-11-22
centos7怎么查看cpu內(nèi)存等系統(tǒng)性能參數(shù)?
centos7怎么查看cpu內(nèi)存等系統(tǒng)性能參數(shù)?對(duì)centos系統(tǒng)不是很熟悉,想看看電腦的一些參數(shù),該怎么查看呢?下面我們就來(lái)看看詳細(xì)的查看教程,需要的朋友可以參考下2016-08-30在低內(nèi)存的情況下安裝CentOS系統(tǒng)的技巧
這篇文章主要介紹了在低內(nèi)存的情況下安裝CentOS系統(tǒng)的技巧,有些跑不起Windows的古董級(jí)電腦不妨直接安裝帶圖形化界面的CentOS,還有利于編程學(xué)習(xí)~需要的朋友可以參考下2015-06-30CentOS系統(tǒng)基礎(chǔ)優(yōu)化知識(shí)匯總
很多朋友對(duì)CentOS系統(tǒng)基礎(chǔ)優(yōu)化不太了解,下面小編為大家?guī)?lái)了關(guān)于CentOS系統(tǒng)基礎(chǔ)優(yōu)化知識(shí)匯總;希望對(duì)大家會(huì)有幫助2016-11-01- 很多朋友還不知道優(yōu)化centos遠(yuǎn)程SSH連接的方法;下面小編為大家?guī)?lái)了優(yōu)化centos遠(yuǎn)程SSH連接的圖文教程!一起去看看吧2016-11-01
centos中netspeeder網(wǎng)絡(luò)加速/優(yōu)化器的安裝方法
NetSpeeder 是一個(gè)網(wǎng)絡(luò)加速軟件了,net-speeder這個(gè)也就是跟銳速差不多的一個(gè)TCP加速的軟件,他沒有銳速那么嚴(yán)格的要求,相對(duì)還是蠻不錯(cuò)的,具體還是自己嘗試把2015-03-06- 這篇文章主要介紹了CentOS VPS入手后的基本優(yōu)化和安全配置,本文涉及升級(jí)防火墻策略、刪除不用的應(yīng)用、清理不需要的用戶和用戶組、更改時(shí)區(qū)等方面,需要的朋友可以參考下2014-12-30
CentOS 6.5服務(wù)器安全加固及性能優(yōu)化
這篇文章為大家介紹下通過調(diào)整系統(tǒng)參數(shù)來(lái)提高系統(tǒng)內(nèi)存、CPU、內(nèi)核資源的占用,通過禁用不必要的服務(wù)、端口,來(lái)提高系統(tǒng)的安全性,更好的發(fā)揮系統(tǒng)的可用性。通過自己對(duì)Linux2014-03-18- 這篇文章主要介紹了CentOS系統(tǒng)中rpm包管理器的使用技巧,同時(shí)也適用于Fedora等其他的RedHat系的Linux系統(tǒng),需要的朋友可以參考下2015-11-30
CentOS是哪個(gè)版本 CentOS版本信息查看技巧
你知道你使用的CentOS是哪個(gè)版本的嗎?下面小編就給大家介紹下查看CentOS版本信息的方法,感興趣的朋友可以看看哦2015-01-19