linux 修改消息队列大小
2012-11-14 18:14
120 查看
环境:red hat5
linux消息队列的配置文件为: /etc/sysctl.conf ,里面:
msgmax: 一条最大消息的字节数
msgmnb: 一个消息队列总共最大字节数
而我的系统这2个值都默认是65536,假如发一条65536长度的消息,那么消息队列只能存放一条消息,而我们的服务每条消息定义的长度是4096,这样最多也只能存放16条消息,有时服务处理不过来时就会报错:Resource temporarily unavailable,消息队列堵塞的现象,所以要将消息队列大小改为(4194304,这个值根据自己需求来改),具体步骤为:
1.以root用户登陆将sysctl.conf 配置文件里面的kernel.msgmnb = 65536改为kernel.msgmnb = 4194304;
2.执行指令/sbin/sysctl -p ,使其生效。这时shell会有很多行提示信息,可以看到:kernel.msgmnb = 4194304;
3.将以前的消息队列删掉(ipcrm -q 111 -q 222 -q ...)在重新建立消息队列msgmnb 值才生效;
linux消息队列的配置文件为: /etc/sysctl.conf ,里面:
msgmax: 一条最大消息的字节数
msgmnb: 一个消息队列总共最大字节数
而我的系统这2个值都默认是65536,假如发一条65536长度的消息,那么消息队列只能存放一条消息,而我们的服务每条消息定义的长度是4096,这样最多也只能存放16条消息,有时服务处理不过来时就会报错:Resource temporarily unavailable,消息队列堵塞的现象,所以要将消息队列大小改为(4194304,这个值根据自己需求来改),具体步骤为:
1.以root用户登陆将sysctl.conf 配置文件里面的kernel.msgmnb = 65536改为kernel.msgmnb = 4194304;
2.执行指令/sbin/sysctl -p ,使其生效。这时shell会有很多行提示信息,可以看到:kernel.msgmnb = 4194304;
3.将以前的消息队列删掉(ipcrm -q 111 -q 222 -q ...)在重新建立消息队列msgmnb 值才生效;
相关文章推荐
- linux关于消息队列中消息的大小的限制
- Linux 创建消息队列时出现 No space left on device的处理方法
- Linux:进程通信之消息队列Message实例
- 嵌入式 Linux环境进程间通信(三):消息队列
- linux消息队列
- Linux下 用消息队列收发变长的消息
- linux 进程间通信--systemV 消息队列 实例
- 在Linux环境中用模拟Windows中的线程消息队列
- linux进程通信之消息队列
- 【Linux】进程间通信(IPC)之消息队列详解及测试用例
- Linux进程通信之POSIX消息队列
- Linux消息队列原理与应用
- linux 管道、消息队列、共享内存的对比
- Linux进程间通信(IPC)编程实践(三) 详解System V消息队列(1)
- linux 进程间消息队列通讯
- 【Linux】IPC通信之消息队列
- Linux下的消息队列MsgQueue
- 嵌入式 Linux进程间通信(七)——消息队列
- linux进程间通信-----System V消息队列总结实例
- 【消息】linux之消息队列