學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > 系統(tǒng)優(yōu)化教程 > Centos內(nèi)存使用與優(yōu)化技巧

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

時間: 志藝942 分享

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

  隨著IT技術(shù)的發(fā)展,越來越多的嵌入式設(shè)備應(yīng)用在我們生活當(dāng)中,嵌入式技術(shù)成為了一門非?;鸨囊粋€技術(shù)。接下來是小編為大家收集的Centos內(nèi)存使用與優(yōu)化技巧,希望能幫到大家。

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

  Linux服務(wù)器分配真實與虛擬內(nèi)存給處理器,通過交換管理內(nèi)存使用率。明白Linux內(nèi)存類型以及處理器如何共享內(nèi)存有助于優(yōu)化內(nèi)存使用率。

  從Linux內(nèi)核start-up執(zhí)行程序進程分配內(nèi)存,需要虛擬內(nèi)存總和。Linux上的虛擬內(nèi)存是無限的,處理器在啟動時就能分配內(nèi)存。Linux內(nèi)核映射通過交換能分配虛擬內(nèi)存到實際內(nèi)存。

  與Windows不同,內(nèi)存交換會讓程序慢下來,Linux內(nèi)存交換是有益的,這得感謝Linux分析進程所分配的內(nèi)存頁使用的方式。Linux內(nèi)核運行最近使用算法,確定哪些內(nèi)存頁需要進入RAM哪些不需要。某些情況下,讓Linux內(nèi)核交換更快速能提升內(nèi)存性能。

  一個程序的進程通常需要比實際需求更多的虛擬內(nèi)存。在Linux的頂級程序中,虛擬內(nèi)存需求出現(xiàn)在VIRT與常駐內(nèi)存(RAA)卷中。當(dāng)進程開始使用分配給的內(nèi)存頁做事時,頁面移到RAM,作為RSS顯示。監(jiān)控Linux內(nèi)核內(nèi)存使用率讓管理員只保留這些頻繁使用的內(nèi)存頁。不常使用的存取頁可通過內(nèi)核或交換丟棄。

  Linux服務(wù)器上的進程使用匿名內(nèi)存,與代碼以及數(shù)據(jù)相關(guān)的文件內(nèi)存。匿名內(nèi)存必須直接可用,因此,如果內(nèi)存資源有壓力,標(biāo)注為匿名內(nèi)存的頁就應(yīng)該進行交換。

  數(shù)據(jù)內(nèi)存又是另一回事了。當(dāng)一個進程從磁盤讀數(shù)據(jù)時,保留在緩存中,允許在下次需要數(shù)據(jù)時進程快速提供數(shù)據(jù)。在內(nèi)存壓力下,內(nèi)核可以丟棄數(shù)據(jù)內(nèi)存。移動未使用的文件內(nèi)存到交換是沒有性能益處的,丟棄是個更好的選擇。

  在決定丟棄或交換內(nèi)存時,Linux內(nèi)核區(qū)分活躍與不活躍內(nèi)存。如果不活躍的內(nèi)存近期未用,那么將其移到交換或直接丟棄顯然沒有害處。/proc/meminfo文件顯示匿名與文件內(nèi)存的活躍與不活躍內(nèi)存之間的差別,如下圖1所示。

  圖1:來自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

  在這個例子中,有大量活躍的匿名內(nèi)存,少量的不活躍匿名內(nèi)存。如果系統(tǒng)處于內(nèi)存壓力下,內(nèi)核將移動125MB的不活躍匿名內(nèi)存到交換。不應(yīng)該交換標(biāo)志為活躍頁內(nèi)存的1.6GB內(nèi)存,因為內(nèi)存頁經(jīng)常需要在RAM與磁盤之間移動,這樣就會降低性能。如果過交換的量大于不活躍(匿名)內(nèi)存,你應(yīng)該添加更多RAM優(yōu)化Linux內(nèi)存頁。

  對于理想的Linux內(nèi)存頁,實際使用的交換總量不應(yīng)該多余不活躍(匿名)內(nèi)存頁的量?;钴S(文件)內(nèi)存的量等于內(nèi)核所需的緩存內(nèi)存的量。否則,就不能提升服務(wù)器性能。

  當(dāng)內(nèi)核需要更多內(nèi)存時,標(biāo)志為不活躍的文件內(nèi)存將被丟棄。由于Linux內(nèi)核無法更好處理,那么不活躍文件內(nèi)存保留在緩存中。如果數(shù)據(jù)丟棄也不會有影響。


看了“Centos內(nèi)存使用與優(yōu)化技巧”還想看:

1.CentOS下清理系統(tǒng)內(nèi)存空間的教程

2.CentOS系統(tǒng)環(huán)境精簡優(yōu)化詳解

3.centos6.2清除系統(tǒng)緩存的教程

4.CentOS7清理yum緩存和釋放內(nèi)存方法

5.centos 6.5 清除內(nèi)存中的系統(tǒng)緩存方法

2846022