首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
ERROR swMsgQueue_create(:54): msgget() failed. Error: No space left on device[28].
Swoole 在MacBook下 运行一段时间报这个错: ERROR swMsgQueue_create(:54): msgget() failed. Error: No space left on device[28]. 我目前知道是系统消息队列超限了,在Linux 上是改 vi /proc/sys/kernel/msgmni 或是清理掉消息队列,但Mac上应该怎么处理了, 另外会是哪些原因导致这个问题呢?
发布于6年前 · 0 次浏览 · 来自
提问
zxyfaxcn
Swoole 在MacBook下 运行一段时间报这个错: ERROR swMsgQueue_create(:54): msgget() failed. Error: No space left on device[28]. 我目前知道是系统消息队列超限了,在Linux 上是改 vi /proc/sys/kernel/msgmni 或是清理掉消息队列,但Mac上应该怎么处理了, 另外会是哪些原因导致这个问题呢?
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2020-03-20
Rango
- 使用 `ipcs -q` 查看所有消息队列列表 - 使用 `ipcrm` 清理无用的消息队列 如果没有特殊需求,`task_ipc_mode` 尽量用 `UnixSocket`模式
赞
2
回复
2020-03-20
郭新华
回复
Rango
对 参考文档 https://wiki.swoole.com/#/learn?id=%e4%bb%80%e4%b9%88%e6%98%afipc
赞
0
回复
2020-03-20
zxyfaxcn
回复
Rango
`task_ipc_mode `用` UnixSocket`模式后,Task 还会有缓存区概念吗?或是说还有等待列表概念吗?
赞
0
回复
2020-03-20
zxyfaxcn
嗯,照这样操作了,之前也遇到过,在Linux上用这个使用清除了,还做了笔记写了shell,mac上执行shell 报错了懵了一下。 Linux上是这样的 for i in echo `ipcs|grep 你的系统用户名|cut -d" " -f2`; do ipcrm -q $i; done Mac是要取第3列 是这样的 for i in echo `ipcs|grep 你的系统用户名|cut -d" " -f3`; do ipcrm -q $i; done
赞
0
回复