解决:cannot create shared memory

本文介绍了解决Linux环境下启动应用程序时遇到的cannotcreatesharedmemory错误的方法。通过使用ipcs命令检查共享内存、信息队列和遮断器的状态,并利用ipcrm命令释放特定资源。

linux 下启动某些应用程序的时候,会有下面的错误提示信息:

cannot create shared memory

 

解决办法:

使用ipcs 和 ipcrm 分别来 查看 和 移除 某个应用所占用的资源;

举例:

 

例如某个程序在启动的时候,可能会占用某端口的资源;

查看需要使用

ipcs 命令

后面可以带上参数,也可以不带:

-m      输出有关共享内存(shared memory)的信息
-q      输出有关信息队列(message queue)的信息
-s      输出有关“遮断器”(semaphore)的信息

可能会看到如下的情况:

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status     
0x000022ca 262152     xdbms     666        16384      0                      
0x092513c8 5931020    oracle11g 660        4096       0                      
0x00030000 6815758    xdbms     644        129672     0                      
0x00033000 6848527    xdbms     644        129672     0                      
0x000010e5 6586384    xdbms     666        16384      0                      
0x000010fb 6619153    xdbms     666        16384      0                      

------ Semaphore Arrays --------
key        semid      owner      perms      nsems    
0x920ebce4 98304      oracle11g 660        152      
0x920ebce5 131073     oracle11g 660        152      
0x920ebce6 163842     oracle11g 660        152      

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages

 

上面的三个参数,对应了这三个段落;

 

如果想移除某一个占用端口33000的程序,可以通过下面的命令来完成:

ipcrm

但是一定要带上参数(参数类型及说明同上)

ipcrm

ipcrm -m 6848527

解释一下,之所以用m 是因为需要释放的这个端口是在m段的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值