Out of Memory Problems on Oracle 10 / Solaris 10 ---修改核心引數
上一篇 / 下一篇 2008-12-19 16:13:43 / 個人分類:經驗 & 總結
在solaris上安裝之前,我們都會設定系統的核心引數,在solaris 9及之前,我們都是透過修改/etc/system檔案來進行修改的,但是從solaris 10開始,這些核心引數稱為“resource controle",是需要透過prctl命令進行更改,有些朋友可能還是按照solaris 9的方式進行更改,當使用的記憶體較大時,由於沒有正確設定,可能會引起"out of memory"的錯誤。
Dnt'|Q I"`*h;W0
ITPUB個人空間+o*y/COScT4u T9hD
從solaris 10開始,對sem,shm的配置無法透過/etc/system檔案來進行修改,更改方式如下:ITPUB個人空間&k3m.XFrc
1) 設定max-shm-memory的值為4GB:
0p"v't?/R N(fX0#projadd -U oracle –K "project.max-shm-memory=(priv,4096MB,deny)" user.oracleITPUB個人空間/JBTS9k+D7v tJ'\
檢視設定是否生效:ITPUB個人空間bCs\1M\]
# cat /etc/project
0X4A'vB;Si-O.xrs0在project檔案的末尾能夠看到新增加的一行ITPUB個人空間X WM-Z D
user.oracle:100::oracle::project.max-shm-memory
H&@W I)nH0=(priv, 4294967296,deny)ITPUB個人空間9QO"o[1B,s
ITPUB個人空間0n#p7I"Y&j K X;a
2) 修改引數max-sem-idsITPUB個人空間s(Qb4uy2Gm
# projmod -s -K "project.max-sem-ids=(priv,256,deny)" user.oracle
8K*`Y(h j0
檢查修改是是否生效
檢視是否生效ITPUB個人空間bl1G/m+^*_
# su - oracleITPUB個人空間b:^y8pC tM
$ prctl –i project user.oracle
n6\'e'H)\0project: 100: user.oracleITPUB個人空間4du i$YdL:|C
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENTITPUB個人空間 `+L1Y"Ni(|;W
。。。。。。
.Ps0jpZe2oc0ITPUB個人空間c2K-d'm5v
project.max-shm-memory
p0[sLT0 privileged 4.00GB - deny -ITPUB個人空間!L:Y.d4V eyq/n Du
system 16.0EB max deny -
1o.] \^f0project.max-shm-idsITPUB個人空間cPlUyfi(~|iE
privileged 128 - deny -ITPUB個人空間;m;T+Z oz
system 16.8M max deny -
u'@kV0l0project.max-msg-ids
W Kc T5A,{&z0}~S(T0 privileged 128 - deny -
+a4e's8A_0 system 16.8M max deny -
,?7U6k6k2?EU:vK0project.max-sem-ids
+{,f`"Z U&I"G0 privileged 256 - deny -ITPUB個人空間'z%`;d z~M1w2h
system 16.8M max deny -
J?y0]A6Y~+r0
gp4M)p/C2I0。。。。。。
kKQ O#Nm0
T5bB;lk0除了設定sem,shm引數外,還需要在/etc/system中增加noexec_user_stack引數ITPUB個人空間3w,z%rbf1s Sf
# cp /etc/system /etc/system.orig
7@&A}9Lm%D X0Vi /etc/systemITPUB個人空間ne poo
set noexec_user_stack=1
'y1f,w#b!r5[0set shmsys:shminfo_shmmax=4294967296ITPUB個人空間B9nm X#eWT
ITPUB個人空間.YFkhE}
經驗:
p!|u p ZO.a s01. 在solaris 10上安裝10g 時,曾經碰到當SGA設定過大時,導致重其後,有一些資源需要手工啟動,因此,oracle官方建議把shmmax的引數也加到/etc/system檔案下(可見Doc id : 399895.1 from metalink)ITPUB個人空間y!` P,QV5bny
set noexec_user_stack=1
G9x C-m d^z9L0set shmsys:shminfo_shmmax=4294967295
2. oracle metalink上曾經有兩份文件,一份設定shmmax為4g,另一個設定shmmax為6g,最後,oracle還是建議設定4g較適合
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-584667/,如需轉載,請註明出處,否則將追究法律責任。