首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

操作信号量报错errno=28,该怎么处理

2012-10-26 
操作信号量报错errno28系统 unix/scolock{0, -1, SEM_UNDO}semop(nSemId[cId], & lock, 1)程序应该是已

操作信号量报错errno=28
系统 unix/sco

lock={0, -1, SEM_UNDO}
semop(nSemId[cId], & lock, 1)

程序应该是已经运行了五、六年相对稳定的程序,但移到另一个环境时突然报错。错误代号为28

strerror(28): No space left on device!


重启系统后多数情况下可以正常使用,当使用一段时间后,又会出现这个错误!

[解决办法]
要么是磁盘空间满了,要么是i-node满了。删一些吧或者转移到别的磁盘。
df -i或df -h看一下。
[解决办法]
ENOSPC
The limit on the number of individual processes requesting a SEM_UNDO flag would be exceeded.

是不是两个环境的内核参数有差异?
[解决办法]
错误原因可能与SEM_UNDO有关。
程序的P操作和V操作不在同一个进程中的话,用SEM_UNDO会引起问题。

[解决办法]

探讨

SEM_UNDO 应该不是这个的问题。

这个程序已经运行好多看了,最新安装到其它服务器上才出现的!

热点排行