千家信息网

solaris内存参数有哪些

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"solaris内存参数有哪些",在日常操作中,相信很多人在solaris内存参数有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"solaris内存
千家信息网最后更新 2026年10月31日solaris内存参数有哪些

这篇文章主要介绍"solaris内存参数有哪些",在日常操作中,相信很多人在solaris内存参数有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"solaris内存参数有哪些"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、solaris 内存参数说明

shared memory:共享内存段:
一个内存区域,可以被不同的进程读取。Oracle使用它来构成SGA。Oracle使用以下三种方法来创建一个SGA区:
1. 使用单个共享内存段。
2. 使用连续多个共享内存段。
3. 使用多个不连续共享内存段。
Oracle优先使用第一种方法,如果成功,则继续初始化,不成功则使用第二种方法,再不成功则使用第三种方法。如果再不成功,则初始化失败,Oracle报告错误代码。

Semaphore:
可以看作一个标记。可以有On和Off两种状态。Oracle使用semaphores来实现服务器进程对SGA区的存取控制。
Shared memory 和semaphore 是Oracle在Unix上运行的重要资源。如果Oracle 实例得不到所需要的资源,实例启动就会失败。

参数:
对于运行一个Oracle实例的Solaris系统,改变/etc/system文件中的一些关于共享内存的参数,以使Oracle实例可以正常运行。如果有多个实例的话,还需根据下面方法重新计算某些值。

shmmax
含义:这个设置并不决定究竟Oracle数据库或者操作系统使用多少物理内存,只决定了最多可以使用的内存数目。这个设置也不影响操作系统的内核资源。
设置方法:0.5*物理内存。如果物理内存为20G,则 0.5×20G×1024×1024=10485760
例子: Set shmsys:shminfo_shmmax=10485760

shmmin
含义:共享内存的最小大小。
设置方法:一般都设置成为1。
例子: Set shmsys:shminfo_shmmin=1

shmmni
含义:系统中共享内存段的最大个数。 推荐值为100或者128。
例子:Set shmsys:shminfo_shmmni=100

shmseg
含义:每个用户进程可以使用的最多的共享内存段的数目。 推荐值为20或者10。
例子:Set shmsys:shminfo_shmseg=20

semmni
含义:系统中semaphore identifierer的最大个数。推荐值为100或者128。
设置方法:把这个变量的值设置为这个系统上的所有Oracle的实例的init.ora中的最大的那个processes的那个值加10。
例子:Set semsys:seminfo_semmni=100

semmns
含义:系统中semaphores的最大个数。
设置方法:这个值可以通过以下方式计算得到:各个Oracle实例的initSID.ora里边的processes的值的总和(除去最大的Processes参数)+最大的那个Processes×2+10×Oracle实例的个数。 详见下面"(semmns计算实例)"。
例子:Set semsys:seminfo_semmns=200

semmsl
含义:一个set中semaphore的最大个数。

设置方法:设置成为10+所有Oracle实例的InitSID.ora中最大的Processes的值。详见下面"(SEMMSL 计算实例)" .
例子:Set semsys:seminfo_semmsl=200


改变了/etc/system里边以上参数以后,重新启动计算机:
$reboot
然后检查当前的参数:
$sysdef -I
如果系统参数仍旧没有改变得话,使用以下命令:
$modload /kernel/sys/shmsys。

二、oracle在solaris下安装时参数的计算

SHMMAX maximum size of a shared memory segment
(共享内存段的最大字节数)
SHMMIN minimum size of shared memory segment
(共享内存段的最小尺寸)
SHMMNI maximum number of shared memory identifiers in the system
(系统中共享内存标识符的最大数目)
SHMSEG maximum number of shared memory segments a user process can attach
(每个用户进程可分配的最大共享内存段数目)
SEMMNI maximum number of semaphore identifiers in the system
(系统中信号灯标识符的最大数目)
SEMMSL maximum number of semaphores in a set
(每个(信号灯)集合中的信号灯的最大数目)
SEMMNS maximum number of semaphores in the system
(系统中信号灯的最大数目)
SEMOPM maximum number of operations per semop call
(每个semop调用的信号灯的最大数目)
SEMVMX semaphore maximum value
(信号灯最大值)

set semsys:seminfo_semmni 100

set semsys:seminfo_semmns 1024(semmns计算实例)

系统中各个Oracle实例的"init[SID].ora"文件中PROCESSES值的总和(不包括最大的那个PROCESSES值)+ 最大的那个PROCESSES值 * 2 + 10 * Oracle实例的个数。
注:[SID]即为具体的数据库实例名
例如,一个有三个 Oracle实例的系统,在各自的"initsid.ora"文件中的PROCESSES参数设置为下列值:
ORACLE_SID=A, PROCESSES=100
ORACLE_SID=B, PROCESSES=100
ORACLE_SID=C, PROCESSES=200
则 SEMMSL 值的计算方法如下(SEMMSL 计算实例):
SEMMSL = [(c=200) + 10] = 210
则 SEMMNS 值的计算方法如下:
SEMMNS = [(A=100) + (B=100)] + [(C=200) * 2] + [(# of instances=3) * 10] = 630

set semsys:seminfo_semmsl 256

SEMMSL 的值可以通过以下方式计算得到:
所有Oracle实例的"init[SID].ora"文件中最大的PROCESSES值 + 10
set semsys:seminfo_semvmx 32767
set semsys:seminfo_shmmax 12884901888

24G *0.5 * 1024*1024 (24G是物理内存)
set semsys:seminfo_shmmin 100


三、solaris11 对内存参数的设置

1、使用prctl调整
prctl -n project.max-shm-memory -v 10G -r -i project default
prctl -n project.max-sem-ids -v 256 -r -i project default
prctl -n project.max-shm-ids -v 256 -r -i project default
这样所作的修改系统重启后就失效了

2、创建project,调整会记录到/etc/project里

可以使用下面的方法为oracle用户创建单独的project,然后修改相应的值
projadd -U oracle user.oracle
projmod -a-K "project.max-shm-memory=(priv,10g,deny)" user.oracle
projmod -a-K "project.max-sem-ids=(priv,100,deny)" user.oracle
projmod -a-K "process.max-sem-nsems=(priv,500,deny)" user.oracle
projmod -a-K "project.max-shm-ids=(priv,100,deny)" user.oracle
修改之后只要切换到oracle用户设置就生效了,重启之后也不会丢失。更加详细的关于project的操作请查看solaris相应的手册,以后修改/etc/system的方法应该会被这种方式逐步取代

到此,关于"solaris内存参数有哪些"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

内存 最大 实例 方法 参数 系统 数目 例子 含义 个数 成功 信号 信号灯 文件 物理 用户 进程 学习 多个 方式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司的优势 科技互联网项目 互联网科技卖菜 远信互联网科技 互联网科技公司介绍 天速互联网络科技有限公司 济南华为互联网科技产业总部基地 剑昆互联网络科技有限公司临桂 互联网对科技的发展 湖南一路畅行互联网科技 中国科技创新与世界互联网大会 燊美集互联网科技有限公司 卓翼科技产业互联网合作 为客找房互联网科技公司怎么样 江苏互联网智能科技软件 上海同邻互联网科技有限公司规模 互联网时代科技型公司的机会 互联网领先科技活动 安徽九吞吴互联网科技有限公司 株洲百竞科技的互联网营销顾问 有格互联网科技 互联网科技小贷 奇酷互联网科技公司 唐信互联网科技 顺玮阁互联网科技 济南和联互联网科技有限公司 互联网和高科技公司 互联网教育科技公司vipkid 群盈汇互联网科技有限公司 西安左小互联网科技有限公司
0