System V 共有メモリーでは、プロセスによるセグメントの作成が可能です。連携するプロセスがそのメモリーセグメントに接続し (セグメントに対するアクセス権が必要)、セグメントに含まれるデータにアクセスできます。この機能はロード可能モジュールとして実装されます。/etc/system ファイルのエントリには、shmsys: 接頭辞が含まれている必要があります。
DBMS ベンダーは、パフォーマンスを高めるために、intimate shared memory (ISM) と呼ばれる特殊な共有メモリーを使用しています。共有メモリーセグメントを ISM セグメントにすると、そのセグメントのメモリーがロックされます。この機能によってより高速な入出力経路をたどることができ、メモリーの使用効率が向上します。セグメントを記述する一連のカーネルリソースは、ISM モードでセグメントに接続するすべてのプロセスによって共有されます。
符号なし long
最初の ISM セグメントが作成されるときに使用可能なシステムメモリーの 5%
物理メモリーの 0 から 50 %
ページ
はい
ありません。値が小さすぎると、メモリーが ISM セグメントに消費される時に、システムがハングしたりパフォーマンスが大幅に低下することがあります。
大量のメモリーがあるデータベースシステムで ISM を使用する場合、このパラメータの値を引き下げることができます。ISM セグメントが使用されない場合には、このパラメータの効果はありません。大量のメモリーを備えたシステムでは、ほぼ間違いなく、最大値 128M バイト (0x4000) で十分です。
変更の可能性あり
ISM に属する可能性のあるページを回収しようとするときに、ページロックキャッシュのフラッシュを無効にします。
ロック済みまたはビジー状態の (高負荷 I/O) ページが保留中のページ回収キューに格納されると、ISM で所有されている可能性のある保留中のページを回収させるために、ページ回収スレッドによって segp_cache がフラッシュされます。segp_cache を定期的または繰り返しフラッシュすると、メモリー負荷の高いシステムのボトルネックとなる可能性があります。
デフォルト動作では、30 秒ごとにページキャッシュがフラッシュされ、ロック済みページがキューで見つかると、タイムアウトは 2 の倍数単位で 1 時間まで指数関数的にバックオフします。
pr_segp_disable を有効にしても、システム診断対策の結果として障害が発生しているメモリーページなどを回収するシステムの機能は無効になりません。
ブール型
1 (無効)
0 (有効) および 1 (無効)
いいえ
いいえ
ロック済みまたはビジー状態の (高負荷 I/O) ページが保留中のページ回収キューに格納されると、ISM で所有されている可能性のある保留中ページを回収させるために、ページ回収スレッドによって segp_cache がフラッシュされます。segp_cache を定期的または繰り返しフラッシュすると、メモリー負荷の高いシステムのボトルネックとなる可能性があります。
遅延の影響を受けるデータベースまたは共有メモリーが大きいアプリケーションを使用している場合は、このパラメータを無効にして、segp キャッシュのフラッシュを完全にスキップすることを検討してください。
回収できないロック済みのカーネルページの現象は次のとおりです。
ページ回収が正常に実行されると、短時間の定期的な高い SYS CPU イベントとともに、短時間のデータベース遅延や一時的にデータベースが応答しないイベントが発生しますが、回収が繰り返し失敗するロック済みまたはビジー状態のページにより、ページ回収スレッドのトリガがより低速で続行される可能性があります。
たとえば、回収できないロック済みのメモリーページは、短い間隔で再試行され、1 時間間隔で永続的に繰り返される可能性があります。システムのリブート後に、スケジュール済みのページが回収されるか、または 30 秒 (デフォルトの速度) で再試行が開始される可能性があります。
segspt_shmfault、segspt_softunlock、segspt_shmpagelock、segspt_shmfree、segspt_shmunmap、segspt_shmattach、および segspt_dismfault 構造体をモニタリングすると、短時間の予期しない、または高い smtx ロック競合が確認される可能性があります。
変更の可能性あり