linux操作系統(tǒng)修改共享內存的簡單方法
近日在優(yōu)化oracle的時候,遇到了oracle的SGA大小遠遠大于linux系統(tǒng)共享內存的最大值,以至于當我用ipcs命令查看的時候,oracle的SGA區(qū)被分成了10個段,這大大影響的oracle的反應速度。后來經過查閱資料,得出一下簡便的修改共享內存的方法,和大家共享。
一般的以為修改系統(tǒng)共享內存需要修改內核程序,然后make,很麻煩。其實,只要在rc.local的加入一點東西,就可以免去修改內核的麻煩。修改方法如下:修改/etc/rc.d/rc.local文件。
在文件的前面注釋的后面加入以下行:
#修改內核共享內存大小;
echo 134217728 > /proc/sys/kernel/shmmax;
#說明:這里的值為內存的一半;
#如果系統(tǒng)內存是256M,則值為134217728 ;
#如果系統(tǒng)內存是512M,則值為268435456;
修改完成以后,重起機器就搞定。
linxu默認情況下的共享內存大小好像是32M,我的機器修改前用ipcs查看,oracle分段是10個,修改以后,只有1個。oracle在一個內存分段內,使得數據交換的速度有所提高。