プロセス間通信(IPC:Inter Process Communication)

プロセス間通信(IPC:Inter Process Communication)

   プロセス間通信に関連するパラメータはすべてカーネルパラメータとして設定されています。

   使用しているアプリケーションによって設定値を指定されているものもありますので、アプリケーションの要件にあわせてチューニングをしてください。


共有メモリ

   共有メモリ関連のパラメータで主要なものは以下の3つがあります。DB2で大きなバッファプールを使用したい場合、shmall、shmmaxの値はバッファプールのサイズより大きい価である必要があります。

   確認時に使用する「ipcs」コマンドの出力と設定する単位が違う点に気をつけてください。


パラメータ設定例説明
kernel.shmall2097152システム全体の共有メモリの最大サイズ(単位:4Kページ)
kernel.shmmax33554432プロセスごとに利用可能な共有メモリの最大サイズ(単位:バイト)
kernel.shmmni4096共有メモリのセグメント数
表2:共有メモリのパラメータ

セマフォ

   システム全体でのセマフォの最大値は小さめの数字となっています。不足するケースに遭遇することがありますので、4番目の値を大きくすることがよくあるかと思います。アプリケーションの推奨値として増やすように指定されていることもよくあります。


パラメータ設定例説明
kernel.sem250 32000 32 128スペースで区切られた4つの値で設定します。
表3:セマフォのパラメータ

   このスペースで区切られた4つの値の意味は次の通りなります。


SEMMSL
セマフォ集合ごとのセマフォ数の最大値。
SEMMNS
システム全体での、全てのセマフォ集合におけるセマフォ数の制限。
SEMOPM
semop(2)コールに指定されるオペレーション数の最大値。
SEMMNI
システム全体でのセマフォ識別子の最大値。
表4:セマフォの値の意味

メッセージキュー

   メッセージキューの最大値は標準では16となっており、これは非常に小さな値です。アプリケーションの推奨値に従って変更してください。


パラメータ設定例説明
kernel.msgmni16システム全体のメッセージキューの最大値
kernel.msgmnb16384単一メッセージキューの最大サイズ
kernel.msgmax8192プロセス間で送信されるメッセージの最大サイズ
表5:メッセージキューのパラメータ

ファイルシステム

   CPUのawaitの割合が高い場合やI/O待ち時間が長い場合、ディスクI/O性能がボトルネックとなっている可能性が考えられます。ディスクI/Oのボトルネックが原因となってロードアベレージの値が大きくなることもあります。

   こういった場合、どのデバイスがボトルネックとなっているのかをiostatの出力から確認する必要があります。データベースの場合はコンテナを配置したデバイスなのか、ログを出力しているデバイスなのか、といった点を確認してください。

   頻繁にスワップ領域へのI/Oが発生している場合も同様にI/Oウェイトの割合が大きくなります。スワップ領域へのI/Oが多く発生している場合、 根本的な原因はディスクI/Oではなくメモリ不足などの別の原因である可能性が考えられます。この場合はファイルシステムのチューニングでは対処できませ ん。この項での説明は大量のスワップが発生していない環境であることが前提となります。

   ディスクI/Oに関しては、OS上からチューニング可能な部分はそれほど多くはなく、どちらかといえばOSでチューニング可能ではない要因に依存す る部分が大きくなります。OSとは別でI/Oのパフォーマンスに影響を与える要因は以下のようなものが考えられます。


  • ディスク装置の性能(ディスク装置の種類、キャッシュのサイズ、キャッシュの有効/無効)
  • RAID構成(ディスクの種類、ディスク本数、ストライプサイズ)
  • デバイスドライバ
  • データベースの設計
表6:I/Oのパフォーマンスに影響を与える要因

   ディスクI/Oがボトルネックだと考えられる場合、まず上記のような点に問題がないのか確認することが必要となります。どんなチューニングを行ってもディスク装置の性能以上の読み書きを行うことはできません。

   ハードウェア環境に問題がない場合に限り、ファイルシステム関連のチューニングによってパフォーマンスを向上させることが可能です。チューニング可能な主な項目として次で解説するような項目があります。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30