ケネル.shmall


redhat Linux as 4.7 x86_64 ;Oracle 10g 2.0.1.0 64bit
EM SGA
SQL> startup nomount
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
, Blog , 。 , Blog E B ,
http://yuekczy.spaces.live.com/blog/ Changes
shmall is too small,most likely is set to the default setting of 2097152

$ cat /proc/sys/kernel/shmall
2097152

Cause
shmall is the total amount of shared memory, in pages, that the system can use at one time.
Solution

Set shmall equal to the sum of all the SGAs on the system, divided by the page size. 

The page size can be determined using the following command: 

$ getconf PAGE_SIZE
4096
For example,if the sum of all the SGAs on the system is 16 Gb and the reult of  '$ get conf PAGE_SIZE'is 4096(4 Kb)then set shmall to 4194304(4 Mb)
As the root user set the shmall to 4194304 in the/etc/syssctl.com file:
ケネル.shmall=4194304
then run the follwing command:# sysctl -p
# cat /proc/sys/kernel/shmall
4194304
=================================20110922 ============================Linux X 86-64オペレーティングシステム、Oracle 10 gデータベース、
つのパラメータを えて しく ると、その の が かります。
(1)
kelnel.shmmax=858993459233452;(8 G)
ケネル.shmmni=4096
ケネル.shmall=2097152
(2)
kelnel.shmmax=17171779869184シシ(16 G)
ケネル.shmmni=4096
ケネル.shmall=4194304
[[ケネル.shmall=ケネル.shmmax]  /  ケネル.shmmni]]
kersnel.shmallパラメータは メモリのページ を します。
kersnel.shmmniパラメータは メモリセグメントの を するので、4096 で きいです。32ビットシステムに して、1ページ=4 k、つまり4096バイトです。