问题描述:
到这这个原因可能是系统ipcs 消息队列(ipcs –q)、共享内存(ipcs –m)、信号灯(ipcs -s)等满了,导致服务启动报错。
解决方案:
1. 使用命令查看系统设置大小和占用情况
2. 使用 ipcs -s 查看系统使用情况
3. 使用 ipcrm -s semid 删除一部分占用资源
4. 或者使用修改系统配置参数
echo
"250 320000 32 250"
> /proc/sys/kernel/sem
5.相关命令使
ipcs:
ipcs [-mqs] [-abcopt] [-C core] [-N namelist]
-m 输出有关共享内存(shared memory)的信息
-q 输出有关信息队列(message queue)的信息
-s 输出信号量(semaphore)的信息
-q : 显示所有的消息队列
-qt : 显示消息队列的创建时间,发送和接收最后一条消息的时间
-qp: 显示往消息队列中放消息和从消息队列中取消息的进程ID
-q -i msgid: 显示该消息队列结构体中的消息信息:
-ql : 显示消息队列的限制信息:
ipcrm:
ipcrm [ -M key | -m id | -Q key | -q id | -S key | -s id ] ...
说明:删除消息队列、共享内存、信号灯
参数:
-M 以shmkey删除共享内存
-m 以shmid删除共享内存
-Q 以msgkey删除消息队列
-q 以msgid删除消息队列
-S 以semkey删除信号灯
-s 以semid删除信号灯