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