国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > CentOS > 正文

Centos內存使用與優化技巧

2020-06-21 12:50:18
字體:
來源:轉載
供稿:網友

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

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

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

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

Linux服務器上的進程使用匿名內存,與代碼以及數據相關的文件內存。匿名內存必須直接可用,因此,如果內存資源有壓力,標注為匿名內存的頁就應該進行交換。

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

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

圖1:來自Linux內核活躍內存與不活躍內存的差別

[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

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

對于理想的Linux內存頁,實際使用的交換總量不應該多余不活躍(匿名)內存頁的量。活躍(文件)內存的量等于內核所需的緩存內存的量。否則,就不能提升服務器性能。

當內核需要更多內存時,標志為不活躍的文件內存將被丟棄。由于Linux內核無法更好處理,那么不活躍文件內存保留在緩存中。如果數據丟棄也不會有影響。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 佛学| 宜阳县| 沧源| 体育| 宁夏| 靖宇县| 绥阳县| 诸暨市| 万山特区| 长岭县| 曲松县| 邢台市| 辽宁省| 阜城县| 革吉县| 中山市| 江安县| 玉山县| 靖宇县| 隆子县| 新余市| 商洛市| 二手房| 永善县| 耿马| 浙江省| 林西县| 大足县| 班戈县| 文安县| 六安市| 托克逊县| 昌邑市| 阳山县| 景德镇市| 阿尔山市| 阿拉尔市| 高淳县| 湛江市| 通海县| 略阳县|