您的位置:首页 > 其它

lsof 用法

2012-06-29 18:23 295 查看
ORA-27102: out of memory

今天在安装oracle的时候遇到上面的错误

在 linux 32位os 、物理内存是8G、 oracle10g环境, 将 kernel.shmmax 调整为 8G,结果报这个错,数据库无法启动,还来改回原来的2G ,

启动正常。 32位os 上oracle sga 最大限制是1.7G, 但是对pga 没有这个限制。

OS:Red Hat linux 5.3 8G内存

oracle10g

经过一番查找,发现是一个参数的设置的不对/etc/sysctl.conf的shmall

shmall这个参数设置的值太小就会报ORA-27102: out of memory

对于32位系统,一页=4k,也就是4096字节。

kernel.shmall = 2097152 就是 2097152*4k/1024/1024 = 8G 就是说可用共享内存一共 8G

设置的一般规律

kernel.shmall = 2097152 ---内存8G

kernel.shmall = 4194304 ---内存16G

kernel.shmall = 8388608 ---内存32G

我改的kernel.shmall = 41943040 ,结果好了,这样可以会留下什么后遗症

这里,对每个参数值做个简要的解释和说明。

(1)shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G。

(2)shmmni:这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改。

(3)shmall:该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改。

(4)sem:该参数表示设置的信号量。

(5)file-max:该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。

修改好内核以后,执行下面的命令使新的配置生效。

# /sbin/sysctl -p
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: