<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>碧海蓝天 &#187; shmmax</title>
	<atom:link href="http://wajoynece.cn/tag/shmmax/feed/" rel="self" type="application/rss+xml" />
	<link>http://wajoynece.cn</link>
	<description>Oracle DataBase Linux Software</description>
	<lastBuildDate>Tue, 06 Sep 2011 08:26:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Oracle安装-Linux内核参数-共享内存信号量设置</title>
		<link>http://wajoynece.cn/2009/07/oracle-linux-sharememorysegment/</link>
		<comments>http://wajoynece.cn/2009/07/oracle-linux-sharememorysegment/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 10:12:33 +0000</pubDate>
		<dc:creator>wajoynece</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[shmall]]></category>
		<category><![CDATA[shmmax]]></category>
		<category><![CDATA[shmmni]]></category>

		<guid isPermaLink="false">http://wajoynece.cn/?p=80</guid>
		<description><![CDATA[Oracle数据库在linux系统上的安装过程中，涉及到设置linux内核参数； 这些内核参数究竟代表什么含义，如何调整这些参数？ 共享内存： 可以通过ipcs -lm命令查看目前系统共享内存的参数限制： # ipcs -lm &#8212;&#8212; Shared Memory Limits &#8212;&#8212;&#8211; max number of segments = 4096 max seg size (kbytes) = 1048576 max total shared memory (pages) = 2097152 min seg size (bytes) = 1 这里涉及到3个于共享内存相关的参数：SHMMAX，SHMMNI，SHMALL SHMMAX 含义：单个共享内存段最大字节数 设置：比SGA略大 查看：cat /proc/sys/kernel/shmmax $ cat /proc/sys/kernel/shmmax 1073741824 修改： sysctl -w kernel.shmmax=1073741824 echo &#8220;kernel.shmmax=1073741824&#8243; &#62;&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Oracle数据库在linux系统上的安装过程中，涉及到设置linux内核参数；</p>
<p>这些内核参数究竟代表什么含义，如何调整这些参数？<br />
<strong><br />
共享内存</strong>：</p>
<p>可以通过ipcs -lm命令查看目前系统共享内存的参数限制：</p>
<blockquote><p># ipcs -lm</p>
<p>&#8212;&#8212; Shared Memory Limits &#8212;&#8212;&#8211;<br />
max number of segments = 4096<br />
max seg size (kbytes) = 1048576<br />
max total shared memory (pages) = 2097152<br />
min seg size (bytes) = 1</p></blockquote>
<p>这里涉及到3个于共享内存相关的参数：SHMMAX，SHMMNI，SHMALL</p>
<p>SHMMAX</p>
<ul>
<li>含义：单个共享内存段最大字节数</li>
<li>设置：比SGA略大</li>
<li>查看：cat /proc/sys/kernel/shmmax</li>
<blockquote><p>$ cat /proc/sys/kernel/shmmax<br />
1073741824</p></blockquote>
</ul>
<ul>
<li>修改：</li>
<blockquote><p>sysctl -w kernel.shmmax=1073741824<br />
echo &#8220;kernel.shmmax=1073741824&#8243; &gt;&gt; /etc/sysctl.conf</p></blockquote>
</ul>
<p>SHMMNI</p>
<ul>
<li>含义：共享内存段最大个数</li>
<li>设置：至少4096</li>
<li>查看：cat /proc/sys/kernel/shmmni</li>
<blockquote><p># cat /proc/sys/kernel/shmmni<br />
4096</p></blockquote>
</ul>
<ul>
<li>修改：</li>
</ul>
<blockquote><p># sysctl -w kernel.shmmni=4096<br />
# echo &#8220;kernel.shmmni=4096&#8243; &gt;&gt; /etc/sysctl.conf</p></blockquote>
<p>SHMALL</p>
<ul>
<li>含义：系统中共享内存页总数</li>
<li>设置：至少ceil(shmmax/PAGE_SIZE)；ORACLE DOC 默认值：2097152*4096=8GB</li>
<li>查看：cat /proc/sys/kernel/shmall</li>
</ul>
<blockquote><p>$ getconf PAGE_SIZE<br />
4096</p>
<p># cat /proc/sys/kernel/shmall<br />
2097152</p></blockquote>
<ul>
<li>修改：</li>
</ul>
<blockquote><p># sysctl -w kernel.shmall=2097152<br />
# echo &#8220;kernel.shmall=2097152&#8243; &gt;&gt; /etc/sysctl.conf</p></blockquote>
<p><strong>信号量：</strong></p>
<p>当前系统信号量限制：<strong><a name="TheSEMMSLParameter"><br />
</a></strong></p>
<blockquote><p>oracle@lab-rd-01:~$ ipcs -ls</p>
<p>&#8212;&#8212; Semaphore Limits &#8212;&#8212;&#8211;<br />
max number of arrays = 128<br />
max semaphores per array = 250<br />
max semaphores system wide = 32000<br />
max ops per semop call = 100</p></blockquote>
<p>SEMMSL</p>
<ul>
<li>含义：每个信号量set中信号量最大个数</li>
<li>设置：最小250；对于processes参数设置较大的系统建议设置为processes+10<strong><a name="TheSEMMNIParameter"><br />
</a></strong></li>
</ul>
<p>SEMMNI</p>
<ul>
<li>含义：linux系统信号量set最大个数</li>
<li>设置：最少128</li>
</ul>
<p>SEMMNS</p>
<ul>
<li>含义：linux系统中信号量最大个数</li>
<li>设置：至少32000；SEMMSL * SEMMNI</li>
</ul>
<p>SEMOPM</p>
<ul>
<li>含义：<tt>semop系统调用允许的信号量最大个数</tt></li>
<li><tt>设置：至少100；</tt>或者等于SEMMSL</li>
</ul>
<p>查看信号量设置：cat /proc/sys/kernel/sem</p>
<p>order：SEMMSL, SEMMNS, SEMOPM, SEMMNI</p>
<blockquote><p>oracle@lab-rd-01:~$ cat /proc/sys/kernel/sem<br />
250    32000    100    128</p></blockquote>
<p>修改：</p>
<blockquote><p>sysctl -w kernel.sem=&#8221;250 32000 100 128&#8243;<br />
echo &#8220;kernel.sem=250 32000 100 128&#8243; &gt;&gt; /etc/sysctl.conf</p></blockquote>
<p>ORACLE提供了sysresv工具管理共享内存以及信号量，操作系统级别可以通过ipcs管理。</p>
]]></content:encoded>
			<wfw:commentRss>http://wajoynece.cn/2009/07/oracle-linux-sharememorysegment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

