16
社区成员




共享内存创建失败,主要有以下两种情况。
整个操作系统创建太多
对于这种情况,需要强行清除调一些不再使用的共享内存。方法为:
1 用ipcs –m 命令列举所有的共享内存
2 用ipcrm –m [shmid] 清除不再使用的共享内存。
操作系统级共享内存最大尺寸太小,不够应用需要的共享内存大小。
对于这种情况,需要用操作系统超级用户,修改核心参数,以便满足TASKCTL服务要求的共享内存大小。
修改方法为:
1 切换到超级用户(root)
2 用sysctl –a|grep shmmax 命令查看当前的共享内存最大值, 如果没达到taskctl要求的值,就需要修改。
3 修改/etc/sysctl.conf
如果文件中有kernel.shmmax配置项,修改为目标值;如果没有,请添加:
kernel.shmmax=[目标值]
4 让设置生效
文件修改保存后,执行sysctl –p 命令即可生效。