系統管理
1752637 會員
5886 線上
108788 解決方案
發表新文章

如何計算 or 估計 Share Memory 的大小

 
watermelonyu
教授

如何計算 or 估計 Share Memory 的大小

Hi,



系統為 HP-UX 11.11 and main memory is 8GB.

在這個系統上有安裝Oracle.我們知道Oracle需要有一塊SGA(System Global Area),Oracle instance startup 這塊SGA就會佔據在Share Memory 的地方.SGA 佔據Share memory的大小可由Oracle參數檔的幾個參數控制.但我覺得在設這些參數的先決條件為"我必需先知道系統的share memory 有多少".我相信很多run在 HP-UX 底下的 application 多會先allocate些memory在share memory中.

我知道有些HP-UX kernel parameters會決定這個系統share memory大小,但這些 memory kernel parameters我實在很難搞懂.故請問一下就這些memory kernel parameters不變的情況下我如何計算我系統中share memory的大小或是預估share memory的大小甚至於share memory的使用量?



Thks & Best Regards,
8則回覆 8
watermelonyu
教授

如何計算 or 估計 Share Memory 的大小

How about



#ipcs -mob



看看有沒有幫助啊
watermelonyu
教授

如何計算 or 估計 Share Memory 的大小

Hi Sheng,

首先謝謝您的幫忙.

不好意思,還有幾點請教:



1.從執行完"ipcs -mob"的report 中,我把所有"SEGSZ"欄位的值加起來就是在那個時間點share memory的使用量,對不?

2.如果第 1 點是的話那我還是不知道我系統現在的share memory 配置有多大?share memory 的使用量跟配置是不相等的,對不?



ps:附加檔是 "ipcs -mob"的report,其中orap01(oracle) SEGSZ的值很接近 SGA 的值.



Best Regards,

watermelonyu
教授

如何計算 or 估計 Share Memory 的大小

Hi :

For question 1, the answer is yes.

For question 2, these is what I understand



There is a kernel parameter named as shmmax

which define the maximum size of a

'single shared memory segment' in bytes.



The shmmax is limited to 1 GB (0x40000000)

on a 32-bit HP-UX system.

When running under the 64-bit operating

system, shmmax is limited to 1 TB

(0x10000000000).



The maximum shared memory accessible

(all segments/quadrants)is limited to 2.75 GB

on 32-bit, and 4 TB on 64-bit HP-UX systems.



# kmtune -q shmmax

this command can get the current shmmax value.



watermelonyu
教授

如何計算 or 估計 Share Memory 的大小

Hi Matthew,



老問題了,可是至今我還是無法得知我系統的 Share Memory 配置有多大?對這個問題請問您有何看法?

我提供主記憶體數量及相關的記憶體參數,您能算出 or 告知系統目前 Share Memory '配置'多大嗎?

PS:我並非要知道'目前'的 Share memory 用了多少?



Thks & Best Regards,
watermelonyu
教授

如何計算 or 估計 Share Memory 的大小

Hi,



shmmax = 17179869184,這代表我系統的 Share memory '配置' 17179869184 嗎?

還是 Share memory 是會隨著動態的增加,動態的減少但最大不能超過 17179869184?



Thks & Best Regards,
watermelonyu
教授

如何計算 or 估計 Share Memory 的大小

shmmax 只是可用的最大值,並不是你系統的所有值

當你的memory 只有512MB,你的shmmax 一樣可以訂到2G,

watermelonyu
教授

如何計算 or 估計 Share Memory 的大小

所以一般在定義shmmax都是訂得跟physical memory 一樣大,當然不可能全部都拿來用
watermelonyu
教授

如何計算 or 估計 Share Memory 的大小

後者.



shmmni: sets the maximum number of shared memory regions the kernel may manage.



shmmax: sets the maximum size in bytes for a shared memory region.



shmseg: sets the maximum number of shared memory regions a single process may attach to its virtual view at one time.