消息队列send的一个问题

灵者皆舞 2011-03-30 05:18:19
前提:HP主机,UNIX系统
消息队列的内核参数如下:
msgmbs 524288 524288 Immed
msgmnb 524288 524288 Immed
msgmni 512 Default Immed
msgtql 1024 Default Immed

现象:
我以堵塞的方式往消息丢脸send 3K大小的消息时,一直堵塞在消息队列上,消息队列的情况如下:
T ID KEY MODE OWNER GROUP CREATOR CGROUP CBYTES QNUM QBYTES LSPID LRPID STIME RTIME CTIME
q 4194329 0x00011710 SRrw-rw-rw- root sys root sys 3376 0 524288 0 0 no-entry no-entry 14:50:32


当我以非堵塞的方式发,返回成功,err为EAGAIN,消息未发送出去。

疑问:
我的消息队列长度是524288,为什么发3K大小的数据都发不出去呢?
是不是还有什么参数需要改动的呢?

求大侠解惑,不甚感激!
...全文
115 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhh_hao 2011-03-30
  • 打赏
  • 举报
回复
恭喜, 处理完了, 来接分...
灵者皆舞 2011-03-30
  • 打赏
  • 举报
回复
已处理。
原因是msgmbs 524288 524288 Immed设置过大,改为128后,就可以了。

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧