一個共享內存區的最大字節數
一個共享內存區的最小字節數
系統范圍內最大共享內存標識數
每個進程附接的最大共享內存數
系統范圍內最大信號燈集數
每個信號燈集的最大信號燈數
系統范圍內最大信號燈數
一個消息包的最大長度
任何一個消息隊列上的最大字節數
系統范圍內的最大消息隊列數
系統范圍內的最大消息數
這些SYSV的IPC參數有些是動態可以修改的,有些是內核頭文件里定義或由其他參數推演出來的,
其中這些參數沒有辦法動態設置:
一個共享內存區的最小字節數 內核里定義SHMMIN為1字節
每個進程附接的最大共享內存數 內核里定義SHMSEG為4096
系統范圍內的最大消息數 內核里定義MSGSEG為(((MSGMNI*MSGMNB)/MSGSSZ <= 0xffff) ? (MSGMNI*MSGMNB)/MSGSSZ : 0xffff)
下述動態可設置的參數可以通過修改 /etc/sysctl.conf 文件設置:
#一個共享內存區的最大字節數
#kernel.shmmax=<shmmaxbytes>
kernel.shmmax=134217728
#系統范圍內最大共享內存標識數
#kernel.shmmni=<maxnumofid>
kernel.shmmni=4096
#每個信號燈集的最大信號燈數 系統范圍內最大信號燈數 每個信號燈支持的最大操作數 系統范圍內最大信號燈集數
#kernel.sem=<semmsl> <semmni>*<semmsl> <semopm> <semmni>
kernel.sem=250 32000 32 128
#一個消息包的最大長度
#kernel.msgmax=<msgbytes>
kernel.msgmax=8192
#任何一個消息隊列上的最大字節數
#kernel.msgmnb=<msgmnb>
kernel.msgmnb=16384
#系統范圍內的最大消息隊列數
#kernel.msgmni=<msgmni>
kernel.msgmni=16
在修改完這個配置文件之后,將 boot.sysctl 服務添加到系統啟動時執行的組里
insserv boot.sysctl
第一次運行 /etc/init.d/boot.sysctl start 讓上述設置生效,在后續系統啟動的服務中就
不用手工執行這個服務了。