当前位置: 技术问答>linux和unix
消息队列消息总大小的问题
来源: 互联网 发布时间:2015-12-14
本文导语: 系统的核心参数如下: MSGMAP: number of entries in message map. The current value is: 1024 (normally: 512) New value is: MSGMAX: maximum message size. The current value is: 20480 (normally: 8192) New value is: MSGMNB: maximum numbe...
系统的核心参数如下:
MSGMAP: number of entries in message map.
The current value is: 1024 (normally: 512) New value is:
MSGMAX: maximum message size.
The current value is: 20480 (normally: 8192) New value is:
MSGMNB: maximum number of characters in a message queue.
The current value is: 20480 (normally: 8192) New value is:
MSGSEG: number of message segments in the system.
The current value is: 1024 New value is:
可消息队列中的消息字节数达到8192后就没办法继续添加消息,为什么?
谢谢!!!
MSGMAP: number of entries in message map.
The current value is: 1024 (normally: 512) New value is:
MSGMAX: maximum message size.
The current value is: 20480 (normally: 8192) New value is:
MSGMNB: maximum number of characters in a message queue.
The current value is: 20480 (normally: 8192) New value is:
MSGSEG: number of message segments in the system.
The current value is: 1024 New value is:
可消息队列中的消息字节数达到8192后就没办法继续添加消息,为什么?
谢谢!!!
|
http://www.ddvip.com/program/vc/index6/60.htm
建议你看看这个里面有获取最大值的方法
可以查看
建议你看看这个里面有获取最大值的方法
可以查看
|
设置MSGMNB/MSGMAX的比例在一个比较大的值
例如一个消息的最大值为8192,则MSGMAX=8192;如果想同时放入100条消息,则MSGMNB=8192000。
----------------------------------------------------------->
欢迎访问我的网站http://www.techcookie.com/forum ----------->
----------------------------------------------------------->
例如一个消息的最大值为8192,则MSGMAX=8192;如果想同时放入100条消息,则MSGMNB=8192000。
----------------------------------------------------------->
欢迎访问我的网站http://www.techcookie.com/forum ----------->
----------------------------------------------------------->
|
可以修改该参数,但是可能有性能问题,对于消息队列的可以如下参看
cat /proc/sys/kernel/msgmax
cat /proc/sys/kernel/msgmnb
在配置文件中可以修改
个人建议你,使用消息队列时候,配合共享内存( 如果是同一进程,使用全局内存访问) 来完成消息的传递,不要在消息队列中占用太多的空间,0xFFFF的内存应该可以支持非常大的应用了
cat /proc/sys/kernel/msgmax
cat /proc/sys/kernel/msgmnb
在配置文件中可以修改
个人建议你,使用消息队列时候,配合共享内存( 如果是同一进程,使用全局内存访问) 来完成消息的传递,不要在消息队列中占用太多的空间,0xFFFF的内存应该可以支持非常大的应用了
|
没办法继续添加消息,错误是什么?
|
http://www.ddvip.com/program/vc/index6/60.htm
给你了啊
自己写一个测试程序不行啊?
给你了啊
自己写一个测试程序不行啊?
|
system V系统历史原因造成的
能用共享内存和信号灯代替消息队列尽量用这个。
消息队列的速度相对共享内存要慢。
能用共享内存和信号灯代替消息队列尽量用这个。
消息队列的速度相对共享内存要慢。
|
帮LZ顶 LZ加油