ixdba.net,讨论linux+oracle技术

No space left on device: Couldn't create accept lock

上一篇 / 下一篇  2008-01-28 09:54:51 / 个人分类:linux技术

查看( 271 ) / 评论( 3 )
   今天下午,一个web集群节点碰到了一个以前没有遇到过的问题,Apache2.0.49无法启动,察看error.log发觉有这样一行错误:IXPUB技术博客7^0CH@?/h8k
[emerg] (28)No space left on device: Couldn't create accept lock刚开始还以为是空间不足,造成无法创建cgisock文件,但是df -h察看,发觉不是这个问题。求助于google,一下子就找到了原因。IXPUB技术博客(iNZ!dXd@$\
使用:ipcs -s | grep nobodyIXPUB技术博客 l!z%[ vZ0W
IXPUB技术博客1Cr.B'`7^5S{

_k$QU)Z#fL9K%w*iuB|0察看发觉有一堆ipc使用,需要干掉。这个可能的原因是程序所造成的。IXPUB技术博客9c to ca

-P0@"h`7WF6q0清除命令:
?I9A)mY0ipcs -s | grep nobody | perl -e 'while (<STDIN>;) { @a=split(/\s+/); print `ipcrm sem $a[1]`}'IXPUB技术博客,sL}T7k]l@
然后启动Apache即可。IXPUB技术博客(kE#Q-`5J

0SP j$W,Wo0更深入的了解:IXPUB技术博客 sT,k3q3]

m[ t7]w9|7CBE0

^$S'yu0u4b9a/u0IXPUB技术博客rAS:F9st6W

Fixing Apache "No space left on device: Couldn't create accept lock" errors

8o }G0s/e$j)k`/Q"k0IXPUB技术博客*cK}/b~

Error Message: When starting Apache, I get this error message in the main Apache error_log:IXPUB技术博客o6R%HGUmB ^

IXPUB技术博客UH+HLUo ^3dh

[emerg] (28)No space left on device: Couldn't create accept lock
b#KbuHTu/nC0[notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)IXPUB技术博客 RZ-g)g Ygej
[notice] Digest: generating secret for digest authentication ...IXPUB技术博客;SpR!C,La*D
[notice] Digest: doneIXPUB技术博客|F7z#M#Q u!c8_lh,\
[warn] pid file /etc/httpd/run/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
9{ phjW,m)j6r^.Q#o0[emerg] (28)No space left on device: Couldn't create accept lock

G"uT]3^[m t+N8M'b0}9G0
}-uQ+n n`.wP0

First off, check to make sure that you really aren't out of disk space, or have hit a quota limit. Another way that Apache can create the "accept lock" is with a semaphore. A semaphore is an inter-process communication tool that is used by Apache to communicate with it's child processes. This error message may mean that Apache couldn't create a new semaphore.IXPUB技术博客1T t.L#A"R*V;jS,H6wk


"Q%a~8lw6If^:|2O0

Check to see how many semaphores are currently in use. If Apache is running correctly, you should see something like this:

R Ep Du2ZOw{0
,V9n-K uq0

# ipcs -s
K/z$A0~s9T}0------ Semaphore Arrays --------
z@K*a3` cXsXa0key semid owner perms nsemsIXPUB技术博客w6Y d^.?|;p M
0x00000000 68681743 apache 600 1
o bQ?St$sQ.C00x00000000 68714515 apache 600 1IXPUB技术博客XKg`:T$}yd
0x00000000 68747291 apache 600 1
IXPUB技术博客6[c1o*Kf3S F7|


d:__nb3a0

If Apache is stopped, and you still see these semaphores, then you can safely kill them by running this command for each semaphore id (in the second column)IXPUB技术博客YG @uz-k?


+B;V?]1i9?}0

$ ipcrm -s <semid>

A \3x;d Ap&w0IXPUB技术博客0li1r TUo9ob#b

To destroy all semaphores, you can run this from the command line (with "apache" being the apache-user):

.Y:k&D-U WP+g7Px7W A0IXPUB技术博客je-WP5f%L`

for semid in `ipcs -s | grep nobody | cut -f2 -d" "`;IXPUB技术博客9y9x!K)r`w{6a

IXPUB技术博客 }1{t|l(K7O

do ipcrm -s $semid; doneIXPUB技术博客 IiZ-D c W%BGS

IXPUB技术博客@^(L4@l


x0y7sI O:y'lu3Z0[
这个地方可能需要改一下,我的apachenobody启的,所以是grep nobody

9m0jA!d CC0g(Xwf0IXPUB技术博客Z~ f9z~)k

b#~3n5lW'^,TeQ%q0
;w(@ eg&D(K+Gd#M4G0

If you are out of semaphores

N8VMW3~OZ0
_+jHro0

If you can't create any more semaphores:IXPUB技术博客|V*Y8bF#v*D

IXPUB技术博客1r Oh[{v3i1v

Sometimes your system may need to increase the number of semaphores that are available on the system. This requires a change to a kernel parameter. If you are running on a virtual server and cannot modify kernel parameters, you may need to ask your hosting provider to change this parameter on their host server To view the current parameters:IXPUB技术博客zc&gDFi I P-J

IXPUB技术博客g'nwt9G5m)uC9@o1h

# ipcs -lIXPUB技术博客9EXO D4S*S \]
------ Shared Memory Limits --------IXPUB技术博客V#xf@%o2q
max number of segments = 4096
'b}#i0L(Y"@3y8j0max seg size (kbytes) = 32768
&_ P%|] uEV?0max total shared memory (kbytes) = 8388608IXPUB技术博客 K?3i qGG@
min seg size (bytes) = 1IXPUB技术博客TNf |6x y
IXPUB技术博客.oEuQo5P |W
------ Semaphore Limits --------
Q;Mnx){4UYU5l0max number of arrays = 1024IXPUB技术博客.h,[^%CQw
max semaphores per array = 250IXPUB技术博客M1o o0BnC
max semaphores system wide = 256000
{RdN [F[UF0max ops per semop call = 32IXPUB技术博客~al9v:Qt'l T
semaphore max value = 32767
m\Q1ae2nj?0IXPUB技术博客+D3i/S.D2o%y1p#O/^Pv/C
------ Messages: Limits --------IXPUB技术博客!F+g0f&Y6Ut
max queues system wide = 1024IXPUB技术博客s_0I @,j1x!lb
max size of message (bytes) = 8192
2d:u6m.M H0default max size of queue (bytes) = 16384

E0DGZ-s6Nb o0IXPUB技术博客%Bevi#BP2t#S3mG

To change these parameters, modify the file /etc/sysctl.conf and add the following lines:

I;X~^"P:g!u.b#q0IXPUB技术博客5{8oVeh

kernel.msgmni = 1024IXPUB技术博客g7Dr no
kernel.sem = 250 256000 32 1024
IXPUB技术博客!e&b9k Jt8v


5@ U/k'z+b%gg0

Then load these settings with the command:IXPUB技术博客kr8a ]&@.{F9fh

IXPUB技术博客j#XL8a_)Q[

这里介绍下kernel.msgmni

%[R;m db/u{d[ e0IXPUB技术博客e b1s+`]$N)CY

/proc/sys/kernel/msgmni

'{]D4n K(G Z0IXPUB技术博客AU9m)?O

该文件指定消息队列标识的最大数目,即系统范围内最大多少个消息队列。
3Pd``.M0缺省设置:16IXPUB技术博客#aI*OB6Z

IXPUB技术博客mq:l V@0Wa:o

IXPUB技术博客9zjGF#n
rootIXPUB技术博客%|O'Dl1{1Et d
下用
%`L/l @*@j/k0sysctl kernel.msgmniIXPUB技术博客rq[CV+h5D
检查该参数,
8bs;F.i}5ED0也可以在命令行下IXPUB技术博客%vRPV WAJC,[D


1KGHTN5GXGu0

sysctl -w kernel.msgmni=XXXIXPUB技术博客^$rjcU/L6s*y;s
重新设定。IXPUB技术博客3n"jN{vpS@ a'h(V\


lZ(idG-q0

sysctl -p

q Q/g6}5?z0IXPUB技术博客h `N$xd

Your Apache process should now be able to create the needed semaphores and run properlyIXPUB技术博客c(]$nWB

IXPUB技术博客 |v:NE#Qx L
IXPUB技术博客k4{gx^g9O ygV

Q oX8j_"W i_t2l0

更多请访问:http://www.ixdba.net

9@wc-?3E ]AU0IXPUB技术博客#d3L]4gy)K}
IXPUB技术博客)Jo swN
[本帖最后由 南非蚂蚁 于 2008-1-28 09:52 编辑]

TAG:

下里巴人的家 rickyfang 发布于2008-01-28 09:58:40
######### By RickyFang on 20070312 #####k+B8n@4a
U$q3Vc

echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter病毒,木马,下载,服务器,操作系统,数据库,路由器,交换机,防火墙,网络工程,布线,网络编程,游戏,网络基础,硬件,网页制作,网管,网管论坛,网管软件,网管下载,网管技术,网络技术,网管社区,网管博客,企业网管,网吧网管,网吧管理r#fIG+dD1{3K,w"|
echo 40960 > /proc/sys/net/ipv4/route/max_size'Z
X0\ _Z
g)EM

echo 40960 > /proc/sys/net/ipv4/ip_conntrack_tcp_timeout_established=1800IXPUB技术社区,交流各种操作系统、服务器、网管技术,网管资源下载,企业网管的天堂,网吧网管的乐园。 f;Y,~"f"L"XF8}!Y
echo 268435456 > /proc/sys/kernel/shmall
!vQLGsjblog.ixpub.netecho 268435456 > /proc/sys/kernel/shmmaxblog.ixpub.net*Z(noxJ a?/]
blog.ixpub.netn2_!W,^/fi T@a
这是偶一直用的,硬件配置是双路双核,4G内存的。blog.ixpub.netI[ v5?/\b7niU0lO
blog.ixpub.net%D8c,c'yR VS
最近在研究KEEPALIVED的集群使用(负载均衡相关)
.r0Bo{nw之前用HA也不错,也久了,有点忘记啦。 @3j8ks"Gl
!Nq w2[3xW
不知蚂蚁用的是哪个组合以及什么模式(NAT或是直接路由)?病毒,木马,下载,服务器,操作系统,数据库,路由器,交换机,防火墙,网络工程,布线,网络编程,游戏,网络基础,硬件,网页制作,网管,网管论坛,网管软件,网管下载,网管技术,网络技术,网管社区,网管博客,企业网管,网吧网管,网吧管理1X!y@@#K z@9M.t$hI

P0MU-]s{o"tIXPUB技术社区,交流各种操作系统、服务器、网管技术,网管资源下载,企业网管的天堂,网吧网管的乐园。[ 本帖最后由 rickyfang 于 2008-1-28 10:02 编辑 ]
南非蚂蚁的天空 南非蚂蚁 发布于2008-01-28 10:01:41
配置系统的/proc/sys/kernel,要根据应用而定,不能一概而论!
下里巴人的家 rickyfang 发布于2008-01-28 10:03:35

QUOTE:

原帖由 南非蚂蚁 于 2008-1-28 10:01 发表
/S9UPRG%hP        ZIXPUB技术博客配置系统的/proc/sys/kernel,要根据应用而定,不能一概而论!
病毒,木马,下载,服务器,操作系统,数据库,路由器,交换机,防火墙,网络工程,布线,网络编程,游戏,网络基础,硬件,网页制作,网管,网管论坛,网管软件,网管下载,网管技术,网络技术,网管社区,网管博客,企业网管,网吧网管,网吧管理#f4~Q7a,Ry"W;Pz

W*\:?NPK)?4aa嗯那,就怕误导大家,所以才把硬件配置也写上的。我就是WEB应用。呵呵
我来说两句

(可选)

日历

« 2008-09-04  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 11644
  • 日志数: 97
  • 书签数: 3
  • 建立时间: 2007-12-12
  • 更新时间: 2008-06-26

RSS订阅

Open Toolbar