近来在优化oracle的时分,遇到了oracle的SGA巨细远远大于linux体系同享内存的最大值,以至于当我用ipcs指令检查的时分,oracle的SGA区被分成了10个段,这大大影响的oracle的反应速度。后来通过查阅材料,得出一下简洁的修正同享内存的办法,和我们同享。
一般的认为修正体系同享内存需求修正内核程序,然后make,很费事。其实,只要在rc.local的参加一点东西,就可以免除修正内核的费事。修正办法如下:修正/etc/rc.d/rc.local文件。
在文件的前面注释的后边参加以下行:
#修正内核同享内存巨细;
echo 134217728 > /proc/sys/kernel/shmmax;
#阐明:这儿的值为内存的一半;
#假如体系内存是256M,则值为134217728 ;
#假如体系内存是512M,则值为268435456;
修正完结今后,重起机器就搞定。
linxu默许情况下的同享内存巨细好像是32M,我的机器修正前用ipcs检查,oracle分段是10个,修正今后,只要1个。oracle在一个内存分段内,使得数据交换的速度有所提高。