ownCloudの件
起きてみたらやっぱりコネクション切れてる。でAccept Filter有効にした関係か/var/log/messagesにエラー出てた。
Jan 18 20:14:55 owncloud kernel: sonewconn: pcb 0xfffff80022c3d000: Listen queue overflow: 193 already in queue awaiting acceptance (1 occurrences) Jan 18 20:15:58 owncloud kernel: sonewconn: pcb 0xfffff80022c3d000: Listen queue overflow: 193 already in queue awaiting acceptance (24 occurrences) Jan 18 20:17:02 owncloud kernel: sonewconn: pcb 0xfffff80022c3d000: Listen queue overflow: 193 already in queue awaiting acceptance (19 occurrences) Jan 18 20:18:06 owncloud kernel: sonewconn: pcb 0xfffff80022c3d000: Listen queue overflow: 193 already in queue awaiting acceptance (24 occurrences) Jan 18 20:19:11 owncloud kernel: sonewconn: pcb 0xfffff80022c3d000: Listen queue overflow: 193 already in queue awaiting acceptance (18 occurrences)
ps取ってみると案の定。
# ps ax | grep "[h]ttpd" | wc -l 257
停止かけても例によって落ちない。
# /usr/local/etc/rc.d/apache24 stop Stopping apache24. Waiting for PIDS: 794. # ps ax | grep "[h]ttpd" | wc -l 256 # pkill -KILL httpd # ps ax | grep "[h]ttpd" | wc -l 256
スタックしてるphpのプロセスは定時実行のみの様子。
# ps ax | grep "[p]hp" 944 - DNs 0:00.16 /usr/local/bin/php -f /usr/local/www/owncloud/cron.php 1036 - DNs 0:00.16 /usr/local/bin/php -f /usr/local/www/owncloud/cron.php (以下略)
httpdを定期的に生え変わらせた方がよさそうという勘からhttpd.confにMaxRequestsPerChild 100とかやや極端な数字を入れて様子見することに。→やっぱり効果なし。とりあえずtrussでトレース取って何で刺さるか見ることにする。
truss取ってる状態で状況再現。でもよーわからん。
sendto(22,"\M^?\0\0\0\^CSELECT `fileid`, `s"...,259,0x80,NULL,0x0) = 259 (0x103) poll({22/POLLIN|POLLERR|POLLHUP},1,1471228928) = 1 (0x1) recvfrom(22,"\^A\0\0\^A\r>\0\0\^B\^Cdef\^Docd"...,424,0x80,NULL,0x0) = 424 (0x1a8) poll({22/POLLIN|POLLERR|POLLHUP},1,1471228928) = 1 (0x1) recvfrom(22,"e\foc_filecache\bmimepart\bmimep"...,562,0x80,NULL,0x0) = 562 (0x232) poll({22/POLLIN|POLLERR|POLLHUP},1,1471228928) = 1 (0x1) recvfrom(22,"\M^B\M-7\M-c\M^C\M-#\M-c\M^C\M-+"...,562,0x80,NULL,0x0) = 230 (0xe6) stat("/usr/local/www/owncloud/data/yaizawa/cache/(このへん文字化け)mp4-chunking-3121156520-89",{ mode=-rw-r--r-- ,inode=137,size=5242880,blksize=131072 }) = 0 (0x0) access("/usr/local/www/owncloud/data/yaizawa/cache/(このへん文字化け)mp4-chunking-3121156520-89",4) = 0 (0x0) access("/usr/local/www/owncloud/data/yaizawa/cache/(このへん文字化け)mp4-chunking-3121156520-89",2) = 0 (0x0) access("/usr/local/www/owncloud/data/yaizawa/cache",2) = 0 (0x0) access("/usr/local/www/owncloud/data/yaizawa/cache/(このへん文字化け)mp4-chunking-3121156520-89",2) = 0 (0x0) access("/usr/local/www/owncloud/data/yaizawa/cache/(このへん文字化け)mp4-chunking-3121156520-89",4) = 0 (0x0) access("/usr/local/www/owncloud/data/yaizawa/cache/(このへん文字化け)mp4-chunking-3121156520-89",0) = 0 (0x0) stat("/usr/local/www/owncloud/data/yaizawa/cache/(このへん文字化け)mp4-chunking-3121156520-89",{ mode=-rw-r--r-- ,inode=137,size=5242880,blksize=131072 }) = 0 (0x0) stat("/usr/local/www/owncloud/data/yaizawa/cache/(このへん文字化け)mp4-chunk= 0 (0x0)56520-89",{ mode=-rw-r--r-- ,inode=137,size=5242880,blksize=131072 })