版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 中國 選擇使用條款首頁產品服務與解決方案支持與下載個性化服務developerWorks中國本文內容包括:理解段布局Lotus Domino 內存控制選項建議參考資料關于作者對本文的評價相關鏈接:Lotus 技術文檔庫eServer 技術文檔庫developerWorks 中國 > Lotus | eServer >AIX 上 Lotus Domino 的內存使用文檔選項將此頁作為電子郵件發(fā)送討論最新推薦Java 應用開發(fā)源動力-下載免費軟件,快速啟動開發(fā)級別: 初級Eddy Bell, 軟件工程師, IBM2006 年 4 月 10 日了解 Lotus Domino 服務器的
2、IBM AIX 段布局以及如何配置Notes.ini 文件設置 ConstrainedSHMSizeMB 和PercentAvailSysResources 來調整服務器的內存分配。這里還提供了對服務器配置的建議。編者注:本文中使用的圖表最初發(fā)表在 IBM 紅皮書Developing and Porting C and C+Applications on AIX中。IBM AIX 平臺處理內存的方式與 Lotus Domino 支持的所有其他平臺都不一樣。AIX 使用一個分段的體系結構,這種體系結構既有優(yōu)點,也有缺點。主要的優(yōu)點是性能提高了。缺點是,32 位的程序必須認識這種分段體系結構,才能
3、充分利用 32 位地址空間。本文描述 AIX 平臺上 32 位應用程序可能具有的段布局,以及 Lotus Domino 當前使用的布局。還將說明在使用不同的Domino 內存選項時對布局的影響。本文針對有經驗的 Lotus Domino 系統(tǒng)管理員,他們應該熟悉 AIX 平臺。理解段布局在默認情況下,AIX 上的 32 位虛擬地址空間由 16 個段組成,每個段 256 MB。對于使用默認段布局的任何應用程序,虛擬地址空間看起來像圖 1 這樣:第 1 段(0x0用于內核文本和數據。第 2 段(0x1用于用戶文本。第 3 段(0x2用于用戶堆棧和數據。第 4 段到第 13 段(0x3 到 0xC供
4、用戶進程使用,如果調用 shmat( 或 mmap( 的話。第 14 段(0xD為共享的庫文本保留。第 15 段(0xE供用戶進程使用。最后一段(0xF用于每個進程共享的庫數據。對于不熟悉圖 1 中使用的術語的讀者,下面給出其定義:文本。只讀和可執(zhí)行的代碼。它可以有三種類型:內核代碼、用戶代碼和共享的庫代碼。數據。可讀/寫數據區(qū)域,可以有三種類型:內核數據、用戶數據和共享的庫數據。注: Shmat( 和 mmap( 在 Lotus Domino 中用于獲得共享內存。圖 1. 虛擬地址空間示例dW 全部內容 使用 AIX 大內存模型的程序具有圖 2 所示的內存布局:第 1 段(0x0用于內核文本
5、和數據。第 2 段(0x1用于用戶文本。第 3 段(0x2用于用戶堆棧和數據。第 4 段到第 7 段(0x3 到 0x6為進程堆保留。第 8 段到第 13 段(0x7 到 0xC供用戶進程使用,如果調用 shmat( 或 mmap( 的話。第 14 段(0xD為共享的庫文本保留。第 15 段(0xE供用戶進程使用。最后一段(0xF用于每個進程共享的庫數據。Lotus Domino 的當前版本使用 AIX 大內存模型。圖 2. AIX 大內存模型 在 AIX 5L 版本 5.2 和更高版本中,有一個非常大的內存模型。我們希望 Lotus Domino 以后會使用這個模型,但是當前沒有使用。這個模
6、型有三種形式:第一種形式適用于進程堆(用戶數據小于 2.5 GB 并大于 256 MB 的程序(見圖 3。這個模型看起來與默認的 AIX 段布局相似,但是如果使用動態(tài)段分配(DSA,那么第 4 段到第 8 段(0x3 到 0x7供進程堆使用。另外,如果動態(tài)段分配調用 shmat( 或 mmap(,那么 0xA 到 0xE 段供用戶進程使用。圖 3. AIX 非常大內存模型:第一種形式 第二種形式適用于進程堆大于 2.5 GB 的程序(見圖 4,在這種形式中:第 1 段(0x0用于內核文本和數據。第 2 段(0x1用于用戶文本。第 3 段(0x2用于用戶堆棧。但是,共享的庫文本和數據也使用這個段
7、(0x2。如果使用動態(tài)段分配,那么第 4 段到第 16 段(0x3 到 0xF供用戶堆使用。如果動態(tài)段分配調用 shmat( 或 mmap(,那么 0xB 到 0xF 段供用戶進程使用。圖 4. AIX 非常大內存模型:第二種形式 第三種形式適用于進程堆小于 256 MB 的程序(見圖 5。在這種形式中:第 1 段(0x0用于內核文本和數據。第 2 段(0x1用于用戶文本。第 3 段(0x2用于用戶堆棧和數據。但是,共享的庫文本和數據也可能存儲在這個段中。如果動態(tài)段分配調用 shmat( 或 mmap(,那么其余的段(0x3 到 0xF供用戶進程使用。圖 5. AIX 非常大內存模型:第三種形
8、式 回頁首Lotus Domino 內存控制選項既然已經了解了關于 AIX 內存模型的一些基本信息,我們就來研究一下 Lotus Domino 使用的模型,以及 Domino 內存控制選項如何影響虛擬地址空間。本文的余下部分講解如何通過配置 Domino 服務器的 Notes.ini 文件中的設置來改變段布局。在開始之前,先提供一些說明,幫助您更好地理解表格中的信息。程序名。這是一個典型的 Domino 應用程序示例。內核文本和數據。此內存是共享的。用戶文本。此內存由具有相同可執(zhí)行文件的所有程序共享(例如,在三個 update 任務之間共享一塊內存。用戶堆棧。這個段是每個進程專用的。進程堆。這
9、個段是每個進程專用的。共享的內存。這個段由所有 Domino 進程共享。共享的庫文本。這個段由系統(tǒng)上的所有進程共享。不可用的段。 Lotus Domino 當前不能使用這個段。共享的庫數據。這個段是每個進程專用的。非 Domino。這個段由第三方應用程序共享和使用。所有 Domino 應用程序共享的程序共享數據從 256 MB 開始,并根據需要增加 256 MB 的段,直到到達最大空閑段數量。第一個表顯示沒有啟用 Domino 內存設置時的結果。程序名內核文本/數據256 MB用戶文本256 MB用戶堆棧256 MB進程堆512 MB共享的內存2 GB共享的庫文本不可用的段共享的庫數據Serv
10、er123 4 和 5 6 到 13141516 HTTP123 4 和 5 6 到 13141516 Update123 4 和 5 6 到 13141516 N/A123 4 和 5 6 到 13141516進程堆棧進程私有數據Domino 共享的內存第三方 API 應用程序共享的內存256 MB 512 MB2048 MB0 MB這是共享內存的布局:NSF Buffer Pool(UBM=3/8 shm = 750 MB其他 Domino 共享內存 = 1250 MB配置 ConstrainedSHMSizeMB 設置Domino 服務器的 Notes.ini 文件中的 Constrai
11、nedSHMSizeMB 設置對共享內存進行限制。使用這個設置有兩種方式。如果 ConstrainedSHMSizeMB=1,那么共享內存被限制為默認大小。在AIX 中,默認大小是 2.25 GB。還可以以 MB 為單位為這個設置指定大小。例如,如果將這個設置修改為:ConstrainedSHMSizeMB = 1744那么會得到下表中列出的結果。程序名內核文本/數據256MB用戶文本256MB用戶堆棧256MB進程堆512MB共享的內存1.744 GB非Domino256 MB共享的庫文本不可用的段共享的庫數據Server123 4 和 5 6 到 1213141516 HTTP123 4
12、和 5 6 到 1213141516 Update123 4 和 5 6 到 1213141516 N/A123 4 和 5 6 到 1213141516進程堆棧進程私有數據Domino 共享的內存第三方 API 應用程序共享的內存256 MB 512 MB1744 MB256 MB這是共享內存的布局:NSF Buffer Pool(UBM=3/8 shm = 654 MB其他 Domino 共享內存 = 1099 MB如果在 Notes.ini 文件中配置 ConstrainedSHMSizeMB= 1744 并將 dataseg 設置為 3(數據段的數量,那么會得到下表中列出的結果。AIX
13、 上 Lotus Domino 的內存使用 程序名 Server HTTP 內核文本/ 數據 256 MB 1 1 用戶文 本 256 MB 2 2 2 2 用戶堆 棧 256 MB 3 3 3 3 非 進程堆 Domino 768 MB 1.744 GB 4到6 4到6 4到6 4到6 7 到 13 7 到 13 7 到 13 7 到 13 共享的 庫文本 14 14 14 14 不可用 的段 15 15 15 15 共享的 庫數據 16 16 16 16 Update 1 N/A 進程堆棧 256 MB 1 進程私有數據 768 MB Domino 共享的內存 1744 MB 第三方 AP
14、I 應用程序共享 的內存 0 MB 這是共享內存的布局: NSF Buffer Pool(UBM=3/8 shm) = 654 MB 其他 Domino 共享內存 = 1099 MB 在下表中,ConstrainedSHMSizeMB 設置為 1024 MB。 內核文 用戶文 用戶堆 共享的內 本/數 進程堆 本 棧 存 512 MB 據 256 MB 256 MB 1024 MB 256 MB 1 1 2 2 2 2 3 3 3 3 4和5 4和5 4和5 4和5 6到9 6到9 6到9 6到9 非 Domino 1024 MB 10 到 13 10 到 13 10 到 13 10 到 13
15、 共享 的庫 文本 14 14 14 14 不可 用的 段 15 15 15 15 共享 的庫 數據 16 16 16 16 程序名 Server HTTP Update 1 N/A 進程堆棧 256 MB 1 進程私有數據 512 MB Domino 共享的內存 1024 MB 第三方 API 應用程 序共享的內存 1024 MB 這是共享內存的布局: NSF Buffer Pool(UBM=3/8 shm) = 384 MB 其他 Domino 共享內存 = 640 MB 配置 PercentAvailSysResources 設置 Domino 服務器的 Notes.ini 文件中的 P
16、ercentAvailSysResources 設置允許控制服務器上的內存 分配。這個設置的值從 2% 到 100%。在下表中,PercentAvailSysResources 設置為 25%,系 統(tǒng)具有 4 GB 內存。換句話說,1 GB 內存分配給 Domino 服務器。 內核文本/ 數據 256 MB 1 用戶文 本 256 MB 2 用戶堆 棧 256 MB 3 共享的內 進程堆 存 512 MB 2048 MB 4和5 6 到 13 共享的 庫文本 14 不可用 的段 15 共享的 庫數據 16 程序名 Server (6 of 92006-04-25 15:55:52 AIX 上
17、Lotus Domino 的內存使用 HTTP 1 2 2 2 3 3 3 4和5 4和5 4和5 6 到 13 6 到 13 6 到 13 14 14 14 15 15 15 16 16 16 Update 1 N/A 進程堆棧 256 MB 1 進程私有數據 512 MB Domino 共享的內存 2028 MB 第三方 API 應用程序共享 的內存 0 MB 這是共享內存的布局: NSF Buffer Pool(UBM=3/8 shm) = 384 MB 其他 Domino 共享內存 = 1664 MB 在這個配置中,NSF Buffer Pool 設置為 3/8 * (RAM * .2
18、5。除了操作系統(tǒng)對段施加的限制之 外,沒有定義對 Domino 共享內存增長的限制。 下一個表顯示在 Notes.ini 文件中設置 NSF_BUFFER_POOL_SIZE_MB= 512 和 PercentAvailSysResources=25 的結果。 內核文本/ 數據 256 MB 1 1 用戶文 本 256 MB 2 2 2 2 用戶堆 棧 256 MB 3 3 3 3 共享的內 進程堆 存 512 MB 2048 MB 4和5 4和5 4和5 4和5 6 到 13 6 到 13 6 到 13 6 到 13 共享的 庫文本 14 14 14 14 不可用 的段 15 15 15 1
19、5 共享的 庫數據 16 16 16 16 程序名 Server HTTP Update 1 N/A 進程堆棧 256 MB 1 進程私有數據 512 MB Domino 共享的內存 2028 MB 第三方 API 應用程序共享 的內存 0 MB 這是共享內存的布局: NSF Buffer Pool(UBM=3/8 shm) = 512 MB 其他 Domino 共享內存 = 1536 MB 在這個配置中,NSF Buffer Pool 是直接配置的,PercentAvailSysResources 被忽略。除了操作 系統(tǒng)對段施加的限制之外,沒有定義對 Domino 共享內存增長的限制。 回頁
20、首 建議 我們建議不要以任何形式使用 ConstrainedSHMSizeMB。在當前使用的 AIX 大內存模型中, ConstrainedSHMSizeMB 應該只用來支持需要共享內存的第三方應用程序。如果使用它,那么 Lotus Domino 可用的虛擬地址空間就少了。這與 Domino 支持的其他平臺不一樣。在其他平臺 上,使用 ConstrainedSHMSizeMB 減少共享內存,就會自動地增加應用程序的私有空間。 為了進行說明,現(xiàn)在舉一個例子:一臺 Domino 服務器正在運行非常沉重的 Lotus Domino Web Access HTTP 負載,它需要 1024 MB 的私有
21、數據空間。在 AIX 上,在 Domino 程序目錄中使 (7 of 92006-04-25 15:55:52 AIX 上 Lotus Domino 的內存使用 用 dataseg f 4 *,從而讓所有 Domino 程序文件可以使用 4 個私有內存段。在其他平臺上,需 要使用操作系統(tǒng)決定的虛擬地址空間大小。然后減去程序文本和共享的庫文本使用的空間。這會 得到 Lotus Domino 可用的虛擬數據空間。在這個例子中,從 Lotus Domino 可用的虛擬數據空 間中減去 1024 MB,并使用這個值配置 ConstrainedSHMSizeMB 設置。 回頁首 參考資料 學習 您可以參閱本文在 developerWorks 全球站點上的 英文原文 。 developerWorks Lotus 文章,“Ask Professor INI: Managing memo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同范本之別墅土建施工合同2024年
- 生物中圖版自主訓練:第二單元第一章第四節(jié)伴性遺傳
- 標準方案設計合同范本
- 買賣廢鐵協(xié)議書2024年
- 學生安全保障協(xié)議
- 企業(yè)存貨管理中存在的問題及完善建議開題報告1700字
- 土地租賃協(xié)議書模板
- 建筑工程承包合同(六)
- 合伙承包協(xié)議書模板
- 國開(甘肅)2024年春《地域文化(專)》形考任務1-4終考答案
- 檔案整理及數字化服務方案(技術標 )
- 橋梁形象進度圖
- 建筑樁基技術規(guī)范 JGJ942008
- C站使用說明JRC
- 習作:推薦一個好地方 推薦ppt課件
- 角的度量 華應龍(課堂PPT)
- 公路銑刨機整機的設計含全套CAD圖紙
- 機器人學課程教學大綱
- 浙江世貿君瀾酒店集團介紹
- GHTF—質量管理體系--過程驗證指南中文版
評論
0/150
提交評論