SysV IPCカーネルパラメータ調整

2059 ワード

SysV IPCは、POSIXであるが、Semaphore、Shared Memory、Message Queueの3種類のプロセス間通信手段を含む.1−2001リアルタイムインターフェース規格は、同じ手段を提供するが、より一貫したインターフェース(POSIX IPC)を提供する別のセットを規定しているが、SysV IPCには依然として相当数のユーザがいる.いくつかのカーネルパラメータを調整することによって、SysV IPCのデータに対する固有の制限を変更することができ、関連パラメータに対応する制御ファイルは/proc/sys/kernel/ディレクトリの下で見つけることができ、sysctlの変更を通じて、以下のように列挙することができる.
 
制御ファイルのパス
カーネルパラメータ(sysctlによる変更時に使用)
意味/proc/sys/kernel/shmmax kernel.shmmax
共有メモリ内の最大メモリブロックサイズ(byte)、デフォルトは33554432、すなわち32 MB/proc/sys/kernel/shmall kernel.shmall
システム全体で共有するメモリの最大サイズは、ページ(4 KB)単位で、デフォルトは2097152、つまり2 Mページで、合計8 GB/proc/sys/kernel/shmmni kernel.shmmni
システム全体で共有されるメモリブロックの最大数(デフォルトは4096)/proc/sys/kernel/msgmax kernel.msgmax
メッセージキュー内の単一メッセージの最大サイズ(byte)、デフォルトは8192/proc/sys/kernel/msgmnb kernel.msgmnb
デフォルトの各メッセージキューの最大サイズ(byte)、デフォルトは16384/proc/sys/kernel/msgmni kernel.msgmni
システム全体のメッセージ・キューの最大数、デフォルトは16です./proc/sys/kernel/sem kernel.sem
信号量の4つの制御パラメータは、前後にそれぞれ:1である.1つの信号量のセットに収容する最大信号量の数は、デフォルトでは250.システム全体の信号量の最大数は、デフォルトでは32000です.各semop呼び出しで許可される最大操作数は、デフォルトでは32.システム全体の信号量のセットの最大数、デフォルトは128です.
以上のパラメータおよび意味は、linux kernelソースツリーのSRCROOT/ipc/サブディレクトリのSysV IPCに対応する実装ファイルから見つけることができ、その関連マクロはSRCROOT/include/linux/サブディレクトリの関連ヘッダファイルに定義される.