Linux中的IPC参数更改


Linux中的IPC参数更改

经常在创建消息队列呢,报错No space left on device。

这时,可以通过修改MSGMNI这个参数来解决。

MSGMNI--- 这个参数决定了系统中同时运行的最大的message queue的个数。

MSGMNI:/proc/sys/kernel/msgmni文件中定义了该值;

  作用:该值定义了消息队列的最大长度;要使db2(7.1版)正常运行,其最小值为128;

  对于高负荷的DB2服务器,可将该值调整为 >= 1024;

  调谐:对于2.4.6版本的内核,其缺省值为16;可用以下两种方法改变该值

  (1)如果只是临时变动,在命令行输入

bash# sysctl -w kernel.msgmni=128

  (2) 如果要在系统启动时改变该值,可在/etc/sysctl.conf文件中加入以下几句:

  # Sets maximum number of message queues to 128

  # Set this to 1024 or higher on production systems

  kernel.msgmni = 128

  (用ipcs -l 命令来查看当前ipc 参数的各种设置)

P.S.

另外几个参数,

kernel.msgmni

kernel.msgmax

kernel.msgmnb

推荐阅读:

C++ 命名管道 IPC 

Hadoop 中 IPC 的源码分析

Linux的进程通信(IPC) 

Linux下的IPC-信号量的使用

Linux下的IPC-共享内存的使用

相关内容