免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
AIX 5L 內(nèi)存性能優(yōu)化,第 1 部分: AIX Version 5.3 中內(nèi)存的概述以...
本系列的三篇文章深入研究內(nèi)存優(yōu)化中的參數(shù)優(yōu)化,重點關(guān)注于內(nèi)存性能優(yōu)化方面的各種挑戰(zhàn)和各種最佳實踐,并且還介紹了 AIX? Version 5.3 中的一些改進。盡管與中央處理單元 (CPU) 優(yōu)化相比,實現(xiàn)內(nèi)存優(yōu)化可能更加困難,但它同樣是非常重要的。在 AIX 服務(wù)器中,與任何其他子系統(tǒng)相比,您可以對內(nèi)存進行更多的優(yōu)化工作。更改系統(tǒng)中的某些內(nèi)存參數(shù),可以極大地提高性能,特別是在尚未對這些參數(shù)進行優(yōu)化的運行環(huán)境中。本系列文章的第 1 部分提供了 AIX 中內(nèi)存的概述,包括對虛擬內(nèi)存和虛擬內(nèi)存管理器 (VMM) 的介紹。
作為一名系統(tǒng)管理員,您應(yīng)該已經(jīng)對有關(guān)內(nèi)存的基本知識非常熟悉,如物理和虛擬內(nèi)存之間的區(qū)別。您可能還不是很清楚 AIX? 中的虛擬內(nèi)存管理器 (VMM) 是如何工作的、以及它與性能優(yōu)化之間的關(guān)系如何。而且,在最近幾年中,有一些優(yōu)化命令和參數(shù)發(fā)生了變化,如果您較長時間沒有使用 AIX 了,那么您可能會發(fā)現(xiàn),您從前所熟悉的一些命令,現(xiàn)在甚至根本無法繼續(xù)使用了。本文詳細(xì)地介紹了 AIX VMM,以及優(yōu)化 VMM 所需使用的各種優(yōu)化命令。我將介紹一些監(jiān)視工具,您可以使用這些工具來優(yōu)化您的系統(tǒng),本文還對一些比較重要的 AIX Version 5.3 內(nèi)存管理增強功能進行概述。實現(xiàn)這些增強功能,即將其應(yīng)用到您的系統(tǒng)環(huán)境,可以在您的系統(tǒng)中優(yōu)化內(nèi)存性能。
盡管您可能會發(fā)現(xiàn),與其他的子系統(tǒng)相比,內(nèi)存的優(yōu)化更為困難一些,但是收到的效果往往更加顯著??赡苓€有一些應(yīng)該在您的系統(tǒng)中進行設(shè)置的特定的優(yōu)化建議,這取決于您所運行的系統(tǒng)的類型。為了幫助證實這些內(nèi)容,我使用了一個特定的示例,并介紹了進行這些參數(shù)設(shè)置的一些最佳實踐。在某些情況下,動態(tài)地優(yōu)化一個或兩個參數(shù),可能會使得您的系統(tǒng)的整體性能完全不同。
無論您需要對哪個子系統(tǒng)進行優(yōu)化,有一個方面是相同的,即優(yōu)化系統(tǒng)—您始終應(yīng)該將其看作一個正在進行的進程。開始對系統(tǒng)進行監(jiān)視的最佳時間是當(dāng)您首次將系統(tǒng)應(yīng)用到產(chǎn)品環(huán)境中并且正常運行時,而不是等到用戶抱怨系統(tǒng)的性能非常糟糕的時候。如果您不了解系統(tǒng)正常運行時的情況,并以此作為基準(zhǔn),那么您可能永遠(yuǎn)也無法真正地確定是否出現(xiàn)了問題。而且,一次只應(yīng)該進行一項更改,并且在進行了更改之后,應(yīng)該盡快地捕獲相關(guān)的數(shù)據(jù)并對其進行分析,以確定這項更改究竟帶來了什么不同(如果存在的話)。
這部分內(nèi)容提供了與 AIX 有關(guān)的內(nèi)存方面的概述。我將介紹 AIX 如何使用虛擬內(nèi)存來尋址比系統(tǒng)中物理內(nèi)存更大的內(nèi)存。我還將說明 VMM 的工作方式以及它如何處理各種請求。
任何有關(guān)內(nèi)存和 AIX 的介紹都必須以對 VMM 的描述作為開始。有時候,令 AIX 新手感到困惑的是,VMM 服務(wù)如何處理系統(tǒng)中所有的內(nèi)存請求,而不僅僅是虛擬內(nèi)存本身。在訪問 RAM 時,VMM 需要分配空間,即使是在系統(tǒng)中有足夠的物理內(nèi)存的情況下。它實現(xiàn)了分頁空間的預(yù)分配過程。使用這種方法,VMM 在幫助管理實際內(nèi)存方面扮演了重要的角色,而不僅是在虛擬內(nèi)存方面。下面來說明它的工作原理。在 AIX 中,將所有的虛擬內(nèi)存段劃分為若干個頁面。在 AIX 中,每個頁面的缺省大小為 4KB。所分配的頁面可以位于 RAM 或者分頁空間(虛擬內(nèi)存存儲于磁盤上)。VMM 還維護一個稱為空閑列表 的對象,該對象定義為未分配的頁幀。它們用于處理缺頁的情況。通常存在少量未分配頁面(您可以自行配置),VMM 可以使用這些頁面來騰出空間并為其重新分配頁幀。可以使用 VMM 的頁面置換算法來選擇要重新分配頁幀的虛擬內(nèi)存頁面。這種分頁算法可以確定對當(dāng)前位于 RAM 中的哪些虛擬內(nèi)存頁面的頁幀進行回收,并放回到空閑列表中。AIX 可以使用所有可用的內(nèi)存,除了那些配置為未分配并用做空閑列表的內(nèi)存之外。
需要重申的是,VMM 的目的是管理 RAM 和虛擬頁面的分配。由此可以看出,它的目標(biāo)是幫助最大限度地縮短缺頁響應(yīng)時間,并在可能的情況下減少虛擬內(nèi)存的使用。很顯然,假設(shè)要在 RAM 和分頁空間之間進行選擇,在 RAM 可用的情況下,大多數(shù)人都更希望使用物理內(nèi)存。另外,VMM 還將虛擬內(nèi)存段劃分為兩種不同的類別。它們分別是,使用計算內(nèi)存的工作段和使用文件內(nèi)存的持久段。了解這兩種類別之間的區(qū)別是非常重要的,因為這將幫助您實現(xiàn)系統(tǒng)的最優(yōu)化。
當(dāng)您的進程對計算信息進行處理時,將使用到計算內(nèi)存。這些工作段是臨時的(暫時的),并且當(dāng)進程終止或者頁面被替換時,這些工作段將不復(fù)存在。它們沒有對應(yīng)的持久磁盤存儲位置。在許多情況下,當(dāng)一個進程終止時,將釋放其物理和分頁空間。當(dāng)可用頁面出現(xiàn)較大的峰值時,您可以在監(jiān)視系統(tǒng)的過程中發(fā)現(xiàn)這種情況。在 VMM 中,當(dāng)空閑物理內(nèi)存較少時,可以將最近沒有使用的程序從 RAM 移出到分頁空間,以幫助釋放物理內(nèi)存,從而完成更多的實際工作。
與計算內(nèi)存不同,文件內(nèi)存使用了持久段,并在磁盤上具有持久存儲位置。數(shù)據(jù)文件或者可執(zhí)行程序通常都映射為持久段,而不是工作段。數(shù)據(jù)文件可能與文件系統(tǒng)相關(guān),如 JFS、JFS2 或 NFS。它們一直都位于內(nèi)存中,直到文件被卸載、頁面被替換、或者取消了到文件的鏈接。在將數(shù)據(jù)文件復(fù)制到 RAM 中之后,VMM 控制何時對這些頁面進行覆蓋或者將其用于存儲其他數(shù)據(jù)。在可以選擇的情況下,大多數(shù)人更希望將文件內(nèi)存調(diào)出到磁盤,而不是計算內(nèi)存。
當(dāng)進程引用磁盤上的某個頁面時,必須將其調(diào)入,而這可能會導(dǎo)致再次將其他的頁面調(diào)出。VMM 常駐內(nèi)存并在后臺運行,嘗試替換最近沒有使用的頁幀,其中使用到前面介紹的頁面置換算法。它還可以幫助檢測系統(tǒng)顛簸,當(dāng)可用內(nèi)存量很低并且不斷地調(diào)入和調(diào)出頁面以支持任務(wù)的處理時,可能會出現(xiàn)系統(tǒng)顛簸。實際上,VMM 中提供了一種內(nèi)存負(fù)載控制算法,它可以檢測系統(tǒng)是否出現(xiàn)顛簸,并嘗試去解決這種情況。如果不加以處理,系統(tǒng)顛簸可能會導(dǎo)致系統(tǒng)停滯,因為內(nèi)核此刻過分地關(guān)注于為頁面騰出空間,而不是完成任何有實際意義的工作。
讓我們研究一些相關(guān)的工具,它們允許您對 VMM 進行優(yōu)化,從而實現(xiàn)系統(tǒng)性能的優(yōu)化。我提供了一個環(huán)境示例,其中使用了某種方法對相關(guān)的參數(shù)進行優(yōu)化。我還介紹了一些需要注意的關(guān)鍵參數(shù)。
在 AIX 5L? 之前,您可能曾經(jīng)使用過 vmtune 命令對您的 VMM 系統(tǒng)進行優(yōu)化。盡管在 AIX Version 5.2 中提供了 vmo 命令,但 vmtune 命令也可以使用,直到 AIX Version 5.3。在 AIX Version 5.3 中,您不能夠再使用 vmtune 這一命令了。盡管有一些根本的變化您需要了解,但是大多數(shù)實際參數(shù)都是相同的。
讓我們來介紹一下 AIX 5L 中頁幀方面一項重要的變化。從 POWER4 處理器開始,AIX 可以支持最大 16MB 的頁面大小。實際上,POWER5 芯片支持四種虛擬內(nèi)存頁面的大?。?KB、64KB、16MB 和 16GB。通過下面一項簡單的 vmo 更改,您就可以對系統(tǒng)進行優(yōu)化以提供大型的頁面,從而對于消耗大量內(nèi)存的應(yīng)用程序極大地提高系統(tǒng)性能。性能之所以得到了改進,是因為提高了 Translation Lookaside Buffer (TLB) 的命中率,這是因為 TLB 可以映射到更大的虛擬內(nèi)存范圍。例如 Oracle 數(shù)據(jù)庫,無論是聯(lián)機事務(wù)處理 (OLTP) 或者數(shù)據(jù)倉庫應(yīng)用程序,都可以從大型頁面的使用中獲益。這是因為 Oracle 使用了大量的虛擬內(nèi)存,特別是對于其系統(tǒng)全局區(qū) (SGA)。這里使用的示例是一個運行 AIX Version 5.3 的 p550 LPAR 上的 Oracle 數(shù)據(jù)庫服務(wù)器。該系統(tǒng)可用于 OLTP 和數(shù)據(jù)倉庫。
清單 1 中的命令分配了 16777216 字節(jié)以提供 128 個大型頁面。
# vmo -r -o lgpg_size=16777216 lgpg_regions=128
最重要的 vmo 設(shè)置是 minperm 和 maxperm。將這些參數(shù)設(shè)置為適合您的系統(tǒng)的值,以確保對計算內(nèi)存或者文件內(nèi)存進行優(yōu)化。在大多數(shù)情況下,您并不希望調(diào)出工作段,因為這樣做會導(dǎo)致系統(tǒng)進行沒有必要的頁面調(diào)出,并且會降低性能。以前,它的工作方式非常簡單:如果您的文件頁面 (numperm%) 大于 maxperm%,那么頁面置換算法將僅替換文件頁面。當(dāng)它小于 minperm 時,可以替換文件頁面和計算頁面。如果它的值位于兩者之間,那么將僅替換文件頁面,除非重分頁的文件頁面的數(shù)目大于計算頁面。還有另一種方法,如果您的 numperm 大于 maxperm,您可以開始替換持久的存儲?;谶@種方法學(xué),早期的方法是調(diào)整您的 minperm 和 maxperm 參數(shù),將 maxperm 設(shè)置得比較低(例如,<20),而將 minperm 設(shè)置為 <=10。您可以使用這種方法來優(yōu)化您的數(shù)據(jù)庫服務(wù)器。
所有的這些方法都發(fā)生了變化。新的方法將 maxperm 設(shè)置為一個比較高的值(例如,>80),并且確保將 lru_file_repage 參數(shù)設(shè)置為 0。lru_file_repage 是在帶 ML4 的 AIX Version 5.2 和 AIX Version 5.3 的 ML1 中首次引入的。這個參數(shù)說明了是否應(yīng)該考慮 VMM 重分頁計數(shù),以及它應(yīng)該替換何種類型的內(nèi)存。其缺省設(shè)置為 1,所以您需要對它進行更改。當(dāng)您將這個參數(shù)設(shè)置為 0 時,它將告訴 VMM,您希望它僅替換文件頁面,而不是計算頁面。如果您的 numperm 小于 minperm 或者大于 maxperm,這種情況會發(fā)生變化,這正是您希望將 maxperm 設(shè)置得較高而將 minperm 設(shè)置得較低的原因。我們不應(yīng)該忘記一個事實,對這個值進行優(yōu)化的主要原因是因為您希望保護計算內(nèi)存?;氐角懊娴氖纠琌racle 使用它自己的緩存,同時使用 AIX 文件緩存,但是卻產(chǎn)生了混淆,所以您希望停止它。在這個場景中,如果您打算降低 maxperm,那么您將會停止正在運行的應(yīng)用程序緩存程序。
清單 2 設(shè)置了這些關(guān)鍵的優(yōu)化參數(shù)。
vmo -p -o minperm%=5 vmo -p -o maxperm%=90 vmo -p -o maxclient%=90
盡管您已經(jīng)習(xí)慣于對這些參數(shù)進行更改,但是現(xiàn)在,您只需保持 strict_maxperm 和 strict_maxclient 的缺省數(shù)值即可。如果將 strict_maxperm 更改為 1,那么它將會對可用于持久文件緩存的內(nèi)存量設(shè)置一個硬限制。通過將 maxperm 值作為緩存的上限,可以實現(xiàn)這一點?,F(xiàn)在,沒有必要這樣做,因為更改 lru_file_repage 參數(shù)是一種更加有效的優(yōu)化方法,而您并不希望使用 AIX 文件緩存。
還有兩個其他的重要參數(shù)需要說明,它們是 minfree 和 maxfree。如果空閑列表中的頁面數(shù)降低到低于 minfree 參數(shù),那么 VMM 開始替換頁面(只需添加到空閑列表),這樣做并不是很合適。它將繼續(xù)進行這項操作,直到空閑列表至少包含 maxfree 參數(shù)中指定的頁面數(shù)。
在較早版本的 AIX 中,當(dāng)缺省 minfree 設(shè)置為 120 時,通常您將會看到空閑列表為 120 或者更低,而這將導(dǎo)致進行沒有必要的分頁,更糟糕的是,會阻塞那些需要空閑幀的線程,因為這個值設(shè)置得過低。要解決這個問題,在 AIX Version 5.3 中,將 minfree 和 maxfree 的缺省值分別提高到 960 和 1088。如果您正在運行 AIX Version 5.2 或者更早的版本,我建議進行下面的設(shè)置,您可以使用清單 3 中的命令,手動地進行更改。
vmo -p -o minfree=960 vmo -p -o maxfree=1088
讓我們先研究一下 AIX Version 5.3 中與內(nèi)存有關(guān)的一些最新的變化。適當(dāng)?shù)厥褂?AIX Version 5.3 中的內(nèi)存管理增強功能,可以幫助您高效地對系統(tǒng)進行優(yōu)化。有關(guān)其他的方面,讓我們介紹一下頁面空間清理、動態(tài)的 xmalloc、內(nèi)存關(guān)聯(lián)和 Watson malloc。
頁面空間清理:在某些情況下,這種特性允許系統(tǒng)釋放分頁空間磁盤塊,這樣一來,您就不需要為給定的工作負(fù)載配置相應(yīng)的分頁空間。僅在使用延遲頁面空間分配策略時,才能使用這種特性。
動態(tài)的 xmalloc 調(diào)試 (xmdbg):這種特性通過改進內(nèi)存分配的整體診斷功能,提高了系統(tǒng)的可靠性。。它允許客戶改變收集的診斷內(nèi)存量,而無需重新啟動。
Watson malloc:與內(nèi)存碎片的缺省實現(xiàn)相比,這種新的 malloc 子系統(tǒng)能夠快速處理一些小的請求。與缺省實現(xiàn) Yorktown 相比,它所消耗的內(nèi)存非常少。為了方便調(diào)試,還添加了一些新的特性,以幫助您修復(fù)各種內(nèi)存分配問題。
改進的多種頁面大小支持:正如前面在優(yōu)化部分中所介紹的,現(xiàn)在有四種不同的頁面大小可供使用。這些大小分別為: 4KB
64KB
16MB
16GB
VMM 監(jiān)視工具:一些監(jiān)視工具,如 vmstat 和 svmon,都經(jīng)過了優(yōu)化,以便支持 POWER5 體系結(jié)構(gòu)的虛擬化功能。現(xiàn)在,它們還支持這部分內(nèi)容中所介紹的一些改進功能。在本系列文章的第 2 部分中,我將會詳細(xì)地介紹這些變化,使您能夠深入地了解 AIX 的各種內(nèi)存監(jiān)視工具,以確定瓶頸、以及分析歷史趨勢和數(shù)據(jù)。
內(nèi)存關(guān)聯(lián):對于 AIX Version 5.3,您無法禁用內(nèi)存關(guān)聯(lián),在 AIX Version 5.2 中也同樣如此。這樣做的目的是,在內(nèi)存模塊中為處理器上產(chǎn)生缺頁的進程提供內(nèi)存分配的功能。在完成了內(nèi)存分配之后,處理器可以首先訪問附加到其自身模塊的內(nèi)存,然后查找其他的模塊,這樣可以提高性能。要禁用 AIX Version 5.2 上的內(nèi)存關(guān)聯(lián)支持,您可以使用下面的 vmo 命令: vmo -o memory_affinity=0
您還應(yīng)該注意,不再需要在 rc.tune 中保存任何可調(diào)整的設(shè)置?,F(xiàn)在,新的方法使用 /etc/tunables,這無疑是一項改進。盡管這個特性是在 AIX Version 5.2 而不是 Version 5.3 中引入的,但是仍然值得在這里進行說明。
如前所述,在您對 AIX 進行優(yōu)化或監(jiān)視之前,您必須設(shè)置一個基準(zhǔn)。在進行優(yōu)化之后,您必須捕獲數(shù)據(jù)并分析更改所帶來的結(jié)果。如果沒有這類信息,您將無法了解優(yōu)化工作的實際效果。在本系列文章的第 1 部分中,您了解了所有關(guān)于 AIX 的 VMM 的內(nèi)容及其工作方式。您還對一個 Oracle 系統(tǒng)進行了調(diào)整,以優(yōu)化內(nèi)存子系統(tǒng)的使用。您研究了一些重要的內(nèi)核參數(shù)、它們的用途以及如何對它們進行優(yōu)化。在學(xué)習(xí)的過程中,您研究了近年來 AIX Version 5.3 中與內(nèi)存有關(guān)的一些根本變化,包括某些參數(shù)和改進。
第 2 部分重點關(guān)注于系統(tǒng)監(jiān)視的細(xì)節(jié),以確定內(nèi)存瓶頸,分析趨勢和結(jié)果。第 3 部分重點關(guān)注于交換空間和對 VMM 進行優(yōu)化以實現(xiàn)性能最大化的其他方法。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
AIX 分頁替換技術(shù)入門
aix基本命令之vmstat_思索的軌跡
AIX 中 Paging Space 使用率過高的分析與解決
Oracle9i在AIX上的性能調(diào)整──內(nèi)存篇
[Milberg09] Chapter 17. Tuning AIX for Oracle
怎樣將虛擬內(nèi)存使用的頁面文件設(shè)置到非系統(tǒng)分區(qū)?
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服