How to modify SHMMAX on Various Solaris Platform

在Solaris平台上安装Oracle可以说是最简单的,几乎不需要打任何操作系统Patch,仅仅是需要设置一下操作系统内核参数,比如共享内存最大值等。

在Solaris8中,需要在/etc/system文件中添加如下行:

set shmsys:shminfo_shmmax=4294967296
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmseg=10
set shmsys:shminfo_shmmni=100
set semsys:seminfo_semmns=1000
set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=250

在Solaris9中,需要在/etc/system文件中添加如下行:

set shmsys:shminfo_shmmax=4294967296
set shmsys:shminfo_shmmni=100
set semsys:seminfo_semmns=1000
set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=250

在Solaris10中,不需要修改/etc/system,而是使用projmod命令。

$ su - root
# projmod -sK "project.max-shm-memory=(privileged,4G,deny)" group.dba
# cat /etc/project
# su - oracle
$ prctl -n project.max-shm-memory -i process $$

关于更详细的System V IPC参数信息,可以参看:System V IPC Configuration
关于更详细的如何管理Resource Controls,可以参看Administering Resource Controls

5 thoughts on “How to modify SHMMAX on Various Solaris Platform

  1. HI:kaums

    请教下max-shm-memory或shmsys:shminfo_shmmax是不是要设成和内存一样大
    另如果我oracle 的processes设为2000是不是要改
    semsys:seminfo_semmsl
    semsysseminfo_semmns
    这俩个参数

    如果要修改,
    solaris 10下要如何修改
    谢谢

  2. 基本上在Sloaris10中只需要修改shmmax,也就是project.max-shm-memory。
    semmsl和semmns这两个都是System V Semaphores的控制参数,在Solaris10中已经被新的Resource Control替代。
    semmsl现在是process.max-sem-nsems,默认值就是512,已经很大了。
    semmns在Solaris10中已经被取消,无需再设置此参数。

Leave a Reply

Your email address will not be published. Required fields are marked *