|
68 | 68 | 以下に、いくつかのプラットフォームへの提案を挙げます。 |
69 | 69 | </p><div class="table" id="SYSVIPC-PARAMETERS"><p class="title"><strong>表18.1 <span class="systemitem">System V</span> <acronym class="acronym">IPC</acronym>パラメータ</strong></p><div class="table-contents"><span class="original"> |
70 | 70 | <title><systemitem class="osname">System V</systemitem> <acronym>IPC</acronym> Parameters</title> |
71 | | -</span><table class="table" summary="System V IPCパラメータ" border="1"><colgroup><col class="col1" /><col class="col2" /><col class="col3" /></colgroup><thead><tr><th>名前</th><th>説明</th><th>一つの<span class="productname">PostgreSQL</span>インスタンスに必要な値</th></tr></thead><tbody><tr><td><code class="varname">SHMMAX</code></td><td>共有メモリセグメントの最大サイズ(バイト)</td><td>最小でも1キロバイト(ただしデフォルトはもっと多くなっています)</td></tr><tr><td><code class="varname">SHMMIN</code></td><td>共有メモリセグメントの最小サイズ(バイト)</td><td>1</td></tr><tr><td><code class="varname">SHMALL</code></td><td>使用可能な共有メモリの総量(バイトまたはページ)</td><td>バイト指定の場合は<code class="varname">SHMMAX</code>と同じ。ページ指定の場合は<code class="literal">ceil(SHMMAX/PAGE_SIZE)</code>。 + 他のアプリケーション用の空間</td></tr><tr><td><code class="varname">SHMSEG</code></td><td>プロセスごとの共有メモリセグメントの最大数</td><td>必要なのは1セグメントのみ(ただしデフォルトはもっと多くなっています)</td></tr><tr><td><code class="varname">SHMMNI</code></td><td>システム全体の共有メモリセグメントの最大数</td><td><code class="varname">SHMSEG</code>と同様 + 他のアプリケーション用の空間</td></tr><tr><td><code class="varname">SEMMNI</code></td><td>セマフォ識別子の最大数(つまりセット)</td><td>at least <code class="literal">ceil(num_os_semaphores / 16)</code> plus room for other applications</td></tr><tr><td><code class="varname">SEMMNS</code></td><td>システム全体のセマフォの最大数</td><td><code class="literal">ceil(num_os_semaphores / 16) * 17</code> plus room for other applications</td></tr><tr><td><code class="varname">SEMMSL</code></td><td>セットごとのセマフォの最大数</td><td>at least 17</td></tr><tr><td><code class="varname">SEMMAP</code></td><td>セマフォマップの中の項目の数</td><td>本文を参照</td></tr><tr><td><code class="varname">SEMVMX</code></td><td>セマフォの最大値</td><td>最低1000(デフォルトはしばしば32767ですが、必要がなければ変更しないでください)</td></tr></tbody></table></div></div><br class="table-break" /><p> |
| 71 | +</span><table class="table" summary="System V IPCパラメータ" border="1"><colgroup><col class="col1" /><col class="col2" /><col class="col3" /></colgroup><thead><tr><th>名前</th><th>説明</th><th>一つの<span class="productname">PostgreSQL</span>インスタンスに必要な値</th></tr></thead><tbody><tr><td><code class="varname">SHMMAX</code></td><td>共有メモリセグメントの最大サイズ(バイト)</td><td>最小でも1キロバイト(ただしデフォルトはもっと多くなっています)</td></tr><tr><td><code class="varname">SHMMIN</code></td><td>共有メモリセグメントの最小サイズ(バイト)</td><td>1</td></tr><tr><td><code class="varname">SHMALL</code></td><td>使用可能な共有メモリの総量(バイトまたはページ)</td><td>バイト指定の場合は<code class="varname">SHMMAX</code>と同じ。ページ指定の場合は<code class="literal">ceil(SHMMAX/PAGE_SIZE)</code>。 + 他のアプリケーション用の空間</td></tr><tr><td><code class="varname">SHMSEG</code></td><td>プロセスごとの共有メモリセグメントの最大数</td><td>必要なのは1セグメントのみ(ただしデフォルトはもっと多くなっています)</td></tr><tr><td><code class="varname">SHMMNI</code></td><td>システム全体の共有メモリセグメントの最大数</td><td><code class="varname">SHMSEG</code>と同様 + 他のアプリケーション用の空間</td></tr><tr><td><code class="varname">SEMMNI</code></td><td>セマフォ識別子の最大数(つまりセット)</td><td>最低<code class="literal">ceil(num_os_semaphores / 16)</code> + 他のアプリケーション用の空間</td></tr><tr><td><code class="varname">SEMMNS</code></td><td>システム全体のセマフォの最大数</td><td><code class="literal">ceil(num_os_semaphores / 16) * 17</code> + 他のアプリケーション用の空間</td></tr><tr><td><code class="varname">SEMMSL</code></td><td>セットごとのセマフォの最大数</td><td>最低17</td></tr><tr><td><code class="varname">SEMMAP</code></td><td>セマフォマップの中の項目の数</td><td>本文を参照</td></tr><tr><td><code class="varname">SEMVMX</code></td><td>セマフォの最大値</td><td>最低1000(デフォルトはしばしば32767ですが、必要がなければ変更しないでください)</td></tr></tbody></table></div></div><br class="table-break" /><p> |
72 | 72 | <span class="original"> |
73 | 73 | <productname>PostgreSQL</productname> requires a few bytes of System V shared memory |
74 | 74 | (typically 48 bytes, on 64-bit platforms) for each copy of the server. |
|
108 | 108 | reports the number of semaphores required. This parameter can be viewed |
109 | 109 | before starting the server with a <command>postgres</command> command like: |
110 | 110 | </span> |
111 | | -《マッチ度[54.220779]》POSIXセマフォを使用している場合、System Vと同じ数のセマフォを必要とします。 |
112 | | -つまり、許可した接続(<a class="xref" href="runtime-config-connection.html#GUC-MAX-CONNECTIONS">max_connections</a>)、許可したオートバキュームワーカープロセス(<a class="xref" href="runtime-config-vacuum.html#GUC-AUTOVACUUM-MAX-WORKERS">autovacuum_max_workers</a>)、許可したWAL送信プロセス(<a class="xref" href="runtime-config-replication.html#GUC-MAX-WAL-SENDERS">max_wal_senders</a>)、許可したバックエンドプロセス(<a class="xref" href="runtime-config-resource.html#GUC-MAX-WORKER-PROCESSES">max_worker_processes</a>)ごとに1つのセマフォを使用します。 |
113 | | -このオプションが優先されるプラットフォームでは、POSIXセマフォの数に特定のカーネル制限はありません。 |
114 | | -《機械翻訳》システムVセマフォーを使用する場合は、<span class="productname">PostgreSQL</span>許可されたセマフォ<a class="xref" href="runtime-config-connection.html#GUC-MAX-CONNECTIONS">max_connections</a>、許可されたコネクションワーカープロセス(<a class="xref" href="runtime-config-vacuum.html#GUC-AUTOVACUUM-WORKER-SLOTS">autovacuum_worker_slots</a>)、許可されたWAL送信者プロセス(<a class="xref" href="runtime-config-replication.html#GUC-MAX-WAL-SENDERS">max_wal_senders</a>)、許可されたバックグラウンドプロセス(<a class="xref" href="runtime-config-resource.html#GUC-MAX-WORKER-PROCESSES">max_worker_processes</a>)ごとに1つのを16のセットで使用します。 |
115 | | -ランタイムで計算されたパラメータ<a class="xref" href="runtime-config-preset.html#GUC-NUM-OS-SEMAPHORES">num_os_semaphores</a>は、必要なセマフォーの数を報告します。 |
116 | | -このパラメータは、サーバを<code class="command">postgres</code>コマンドのようなで開始する前で表示できます。 |
117 | | -オートバキューム |
| 111 | +System Vセマフォを使用する場合、<span class="productname">PostgreSQL</span>は許可される接続数(<a class="xref" href="runtime-config-connection.html#GUC-MAX-CONNECTIONS">max_connections</a>)、許可されるautovacuumワーカープロセス数(<a class="xref" href="runtime-config-vacuum.html#GUC-AUTOVACUUM-WORKER-SLOTS">autovacuum_worker_slots</a>)、許可されるWAL送信プロセス数(<a class="xref" href="runtime-config-replication.html#GUC-MAX-WAL-SENDERS">max_wal_senders</a>)、許可されるバックグラウンドプロセス数(<a class="xref" href="runtime-config-resource.html#GUC-MAX-WORKER-PROCESSES">max_worker_processes</a>)などに対して、セマフォを16個ずつのセットで使用します。 |
| 112 | +実行時に計算されるパラメータ<a class="xref" href="runtime-config-preset.html#GUC-NUM-OS-SEMAPHORES">num_os_semaphores</a>は必要なセマフォの数を報告します。 |
| 113 | +このパラメータは、以下のような<code class="command">postgres</code>コマンドでサーバを起動する前に確認できます。 |
118 | 114 | </p><pre class="programlisting"> |
119 | 115 | $ <strong class="userinput"><code>postgres -D $PGDATA -C num_os_semaphores</code></strong> |
120 | 116 | </pre><p> |
|
136 | 132 | which are usually confusingly worded <quote>No space |
137 | 133 | left on device</quote>, from the function <function>semget</function>. |
138 | 134 | </span> |
139 | | -《機械翻訳》16個のセマフォの各セットには、他のアプリケーションで使用されているセマフォセットとの衝突を検出するために、包含a<span class="quote">「<span class="quote">マジックナンバー</span>」</span>の17番目のセマフォも含まれます。 |
140 | | -システム内のセマフォの最大数は<code class="varname">SEMMNS</code>で設定されます。 |
141 | | -したがって、これは少なくとも<code class="literal">num_os_semaphore</code>プラスと同じ大きさである必要があります。 |
142 | | -16個の必要なセマフォの各セットに1つ追加されます(<a class="xref" href="kernel-resources.html#SYSVIPC-PARAMETERS" title="表18.1 System V IPCパラメータ">表 18.1</a>の式を参照)。 |
143 | | -パラメータ<code class="varname">SEMMNI</code>は、システムに一度に存在できるセマフォセットの数の制限を決定します。 |
144 | | -したがって、このパラメータは少なくとも<code class="literal">ceil(num_os_semaphore / 16)</code>である必要があります。 |
145 | | -許可された接続の数を減らすことは、関数<code class="function">semget</code><span class="quote">「<span class="quote">デバイスにスペースが残っていない</span>」</span>という紛らわしい言葉で表される障害に対する一時的の回避策です。 |
| 135 | +各16個のセマフォのセットには、他のアプリケーションで使用されているセマフォセットとの衝突を検出するための<span class="quote">「<span class="quote">マジックナンバー</span>」</span>を含む17番目のセマフォも含まれます。 |
| 136 | +システム内のセマフォの最大数は<code class="varname">SEMMNS</code>によって設定され、そのため必要なセマフォ16個ごとに1つ余分に加えた<code class="literal">num_os_semaphores</code>以上でなくてはいけません(<a class="xref" href="kernel-resources.html#SYSVIPC-PARAMETERS" title="表18.1 System V IPCパラメータ">表 18.1</a>の式を参照)。 |
| 137 | +<code class="varname">SEMMNI</code>パラメータはシステム上に同時に存在できるセマフォ集合の数の上限を決定します。 |
| 138 | +ですから、このパラメータは少なくとも<code class="literal">ceil(num_os_semaphores / 16)</code>以上はなくてはいけません。 |
| 139 | +一時的な失敗の回避策としては許可される接続の数を下げることができますが、<span class="quote">「<span class="quote">No space left on device</span>」</span>という紛らわしい言葉が<code class="function">semget</code>関数から表示されます。 |
146 | 140 | </p><p> |
147 | 141 | <span class="original"> |
148 | 142 | In some cases it might also be necessary to increase |
|
180 | 174 | On the platforms where this option is preferred, there is no specific |
181 | 175 | kernel limit on the number of POSIX semaphores. |
182 | 176 | </span> |
183 | | -《マッチ度[90.996169]》POSIXセマフォを使用している場合、System Vと同じ数のセマフォを必要とします。 |
184 | | -つまり、許可した接続(<a class="xref" href="runtime-config-connection.html#GUC-MAX-CONNECTIONS">max_connections</a>)、許可したオートバキュームワーカープロセス(<a class="xref" href="runtime-config-vacuum.html#GUC-AUTOVACUUM-MAX-WORKERS">autovacuum_max_workers</a>)、許可したWAL送信プロセス(<a class="xref" href="runtime-config-replication.html#GUC-MAX-WAL-SENDERS">max_wal_senders</a>)、許可したバックエンドプロセス(<a class="xref" href="runtime-config-resource.html#GUC-MAX-WORKER-PROCESSES">max_worker_processes</a>)ごとに1つのセマフォを使用します。 |
| 177 | +POSIXセマフォを使用している場合、System Vと同じ数のセマフォを必要とします。 |
| 178 | +つまり、許可した接続(<a class="xref" href="runtime-config-connection.html#GUC-MAX-CONNECTIONS">max_connections</a>)、許可したオートバキュームワーカープロセス(<a class="xref" href="runtime-config-vacuum.html#GUC-AUTOVACUUM-WORKER-SLOTS">autovacuum_worker_slots</a>)、許可したWAL送信プロセス(<a class="xref" href="runtime-config-replication.html#GUC-MAX-WAL-SENDERS">max_wal_senders</a>)、許可したバックエンドプロセス(<a class="xref" href="runtime-config-resource.html#GUC-MAX-WORKER-PROCESSES">max_worker_processes</a>)などに対して1つのセマフォです。 |
185 | 179 | このオプションが優先されるプラットフォームでは、POSIXセマフォの数に特定のカーネル制限はありません。 |
186 | 180 | </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="systemitem">FreeBSD</span> |
187 | 181 | <a id="id-1.6.5.7.3.17.1.1.2" class="indexterm"></a> |
|
245 | 239 | as <systemitem class="osname">NetBSD</systemitem>'s default settings |
246 | 240 | for these are unworkably small. |
247 | 241 | </span> |
248 | | -《マッチ度[81.179775]》<code class="literal">shared_memory_type</code>を<code class="literal">sysv</code>に設定していない限り、通常はデフォルトの共有メモリ設定で十分です。 |
249 | | -通常は、<code class="literal">kern.ipc.semmni</code>と<code class="literal">kern.ipc.semmns</code>を増やす必要があります。これは、<span class="systemitem">NetBSD</span>のデフォルト設定は不適切に小さいためです。 |
250 | | -《機械翻訳》<code class="literal">shared_memory_type</code>を<code class="literal">sysv</code>に設定しない限り、通常はデフォルト共有メモリの設定で十分です。 |
251 | | -しかし、<code class="literal">kern.ipc.semmni</code>と<code class="literal">kern.ipc.semmns</code>を増やす必要があります。 |
252 | | -<span class="systemitem">NetBSD</span>のデフォルトの設定は小さすぎてうまく動作しません。 |
| 242 | +<code class="literal">shared_memory_type</code>を<code class="literal">sysv</code>に設定していない限り、通常はデフォルトの共有メモリ設定で十分です。 |
| 243 | +ただし、<code class="literal">kern.ipc.semmni</code>と<code class="literal">kern.ipc.semmns</code>を増やす必要があります。 |
| 244 | +<span class="systemitem">NetBSD</span>のデフォルト設定では実用的でないほど小さいためです。 |
253 | 245 | </p><p> |
254 | 246 | <span class="original"> |
255 | 247 | IPC parameters can be adjusted using <command>sysctl</command>, |
|
287 | 279 | as <systemitem class="osname">OpenBSD</systemitem>'s default settings |
288 | 280 | for these are unworkably small. |
289 | 281 | </span> |
290 | | -《マッチ度[79.452055]》<code class="literal">shared_memory_type</code>を<code class="literal">sysv</code>に設定していない限り、通常はデフォルトの共有メモリ設定で十分です。 |
291 | | -通常は、<code class="literal">kern.seminfo.semmni</code>と<code class="literal">kern.seminfo.semmns</code>を増やす必要があります。これは、<span class="systemitem">OpenBSD</span>のデフォルト設定は不適切に小さいためです。 |
292 | | -《機械翻訳》<code class="literal">shared_memory_type</code>を<code class="literal">sysv</code>に設定しない限り、通常はデフォルト共有メモリの設定で十分です。 |
| 282 | +<code class="literal">shared_memory_type</code>を<code class="literal">sysv</code>に設定していない限り、通常はデフォルトの共有メモリ設定で十分です。 |
293 | 283 | ただし、<code class="literal">kern.seminfo.semmni</code>と<code class="literal">kern.seminfo.semmns</code>を増やす必要があります。 |
294 | | -<span class="systemitem">OpenBSD</span>のこれらのデフォルト設定は非常に小さいため、うまく動作しません。 |
| 284 | +<span class="systemitem">OpenBSD</span>のデフォルト設定では実用的でないほど小さいためです。 |
295 | 285 | </p><p> |
296 | 286 | <span class="original"> |
297 | 287 | IPC parameters can be adjusted using <command>sysctl</command>, |
|
0 commit comments