1.查看系统信息:
uname -a
2.查看当前系统的内存:
free -m //以M的单位查看,当前为16G
total used free shared buffers cached
Mem: 16020 7440 8580 0 182 5434
-/+ buffers/cache: 1824 14196
Swap: 8191 98 8093
3.查看系统是32位还是64位
getconf LONG_BIT
4.查看cpu个数:
cat /proc/cpuinfo|grep processor
5.“shmmax内核参数定义单个共享内存段的最大值,如果该参数设置小于Oracle SGA设置,那么SGA就会被分配多个共享内存段。这在繁忙的系统中可能成为性能
负担,带来系统问题。”所以急需调整另一个主机参数shmmax
在linux系统利用ipcs命令查看:其中查看shared memory segments中用户为oracle的bytes相加等于sga的大小
host:domain> ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
。。。。。。。
。。。。。。。
。。。。。。。
host:domain>
$more /etc/sysctl.conf|grep shmmax
kernel.shmmax= 2147483648
(1024*1024*1024*2=2147483648)
由于当前最大共享内存是2G,而SGA是10G,所以SGA被分配成多个共享内存段,建议通过修改/etc/sysctl.conf文件,将kernel.shmmax修改为(1024*1024*1024*8=8589934592)
注:修改kernel.shmall=4194304(让SGA可以分配到8G及以上)和修改kernel.shmmax=8589934592(避免SGA被分配成多个共享内存段) 都需要root 用户进行修改,并且无需重启,用root用户执行执行 sysctl -p 会生效
另:参数说明
kernel.shmall:(max amount of shared memory,单位是页面,控制共享内存页数 kernel.shmall*page_size= 最 大可以使用的共享内存数量。)
kernel.shmmax:最大共享内存段尺寸(单位是字节),定义单个共享内存段的最大值。