系統管理
取消
顯示結果 
搜尋替代 
您的意思是: 

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

如何計算 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 回覆

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

How about



#ipcs -mob



看看有沒有幫助啊

如何計算 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,

如何計算 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.



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

Hi Matthew,



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

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

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



Thks & Best Regards,

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

Hi,



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

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



Thks & Best Regards,

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

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

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

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

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

如何計算 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.