Некоторые процессы vsftpd подвисают и грузят проц (system) в V [message #28498] |
Thu, 20 March 2008 18:59 |
umnov
Messages: 1 Registered: March 2008
|
Junior Member |
|
|
1. На i386 проблем не испытываю, на amd64 (opteron и new xeon) наблюдаю давно, особо стало актуально недавно.
2. ОС debian etch. Ядро из вашего репозитория (2.6.18-fza-028stab053.5-amd64).
Наблюдаю большую загрузку процов (2 x quad core xeon).
3 vz-шки, активно работает только одна. На ней активно работает только vsftpd, он и подвисает. Также было один раз замечено подвисание vzctl.
Вся система при загрузке CPU 500-700% (из 800%) производит трафика ~1мб/с, дисковая подсистема выдает при этом около 96Мб/с синтетическим тестом hdparm -t, iowait почти 0.
Почти весь cpu usage составляет system. Периодически подвсишие vsftpd жрут по 100% (т.е. одно ядро).
Интересно то, что жрут проц некоторые из нескольких десятков процессов и не постоянно. И что странно этого не было на i386 (при той же нагрузке, эта же контент и те же конфиги).
3. В dmesg ничего нет. В других логах тоже ничего интересного.
4. По подвисшим пидам и логам vsftpd выявил - не закрывается корректно tcp соединение, последняя запись в логе на подвисший pid:
Thu Mar 20 21:21:17 2008 [pid 20295] CONNECT: Client "10.168.5.143", "Connection refused: too many sessions for this address."
Вызвано опцией vsftpd.conf "max_per_ip=2".
5. Никакого файрвола нет.
6. Пример top:
10084 ftp 25 0 18352 1044 668 S 100 0.1 6:34.94 vsftpd
7. wchan, запускал несколько раз:
cat /proc/10084/wchan
470039224
ub_sock_snd_queue_add
_stext
8. cat /proc/bc/[VEID]/*
read 0
write 0
dirty 0
cancel 0
missed 0
syncs_total 2
fsyncs_total 2380
fdatasyncs_total 0
range_syncs_total 0
syncs_active 0
fsyncs_active 0
fdatasyncs_active 0
range_syncs_active 0
vfs_reads 1069027
vfs_read_chars 689693479
vfs_writes 1254896233
vfs_write_chars 18446744059976812166
io_pbs 0
kmemsize 10228623 13278632 44845875 49330462 0
lockedpages 0 0 2189 2189 0
privvmpages 6919 17282 465587 512145 0
shmpages 0 0 46558 46558 0
numproc 78 102 2000 2000 0
physpages 2756 10033 0 2147483647 0
vmguarpages 0 0 465587 2147483647 0
oomguarpages 2756 10033 465587 2147483647 0
numtcpsock 110 140 2000 2000 0
numflock 37 48 1000 1100 0
numpty 0 4 200 200 0
numsiginfo 0 59 1024 1024 0
tcpsndbuf 5971152 6758456 6756625 14948625 488
tcprcvbuf 744808 1020816 6756625 14948625 0
othersockbuf 2312 9032 3378312 11570312 0
dgramrcvbuf 0 8720 3378312 3378312 0
numothersock 74 96 2000 2000 0
dcachesize 0 0 9788644 10082304 0
numfile 874 1178 17504 17504 0
numiptent 10 10 200 200 0
unused_privvmpages 4163
tmpfs_respages 0
swap_pages 0
swapin 0
unmap 0
9. конфиг vps (без параметров адресов и имен):
ONBOOT="yes"
# UBC parameters (in form of barrier:limit)
# Primary parameters
AVNUMPROC="547:547"
NUMPROC="2000:2000"
NUMTCPSOCK="2000:2000"
NUMOTHERSOCK="2000:2000"
VMGUARPAGES="465587:2147483647"
# Secondary parameters
KMEMSIZE="44845875:49330462"
TCPSNDBUF="6756625:14948625"
TCPRCVBUF="6756625:14948625"
OTHERSOCKBUF="3378312:11570312"
DGRAMRCVBUF="3378312:3378312"
OOMGUARPAGES="465587:2147483647"
# Auxiliary parameters
LOCKEDPAGES="2189:2189"
SHMPAGES="46558:46558"
PRIVVMPAGES="465587:512145"
NUMFILE="17504:17504"
NUMFLOCK="1000:1100"
NUMPTY="200:200"
NUMSIGINFO="1024:1024"
DCACHESIZE="9788644:10082304"
PHYSPAGES="0:2147483647"
NUMIPTENT="200:200"
# Disk quota parameters (in form of softlimit:hardlimit)
DISKSPACE="1524288000:1524288000"
DISKINODES="154247692:169672462"
QUOTATIME="0"
# CPU fair sheduler parameter
CPUUNITS="1000"
10. vz.conf
## Global parameters
VIRTUOZZO=yes
LOCKDIR=/var/lib/vz/lock
DUMPDIR=/var/lib/vz/dump
VE0CPUUNITS=1000
## Logging parameters
LOGGING=yes
LOGFILE=/var/log/vzctl.log
LOG_LEVEL=0
VERBOSE=0
## Disk quota parameters
DISK_QUOTA=no
VZFASTBOOT=no
# The name of the device whose ip address will be used as source ip for VE.
# By default automatically assigned.
#VE_ROUTE_SRC_DEV="eth0"
# Controls which interfaces to send ARP requests and modify APR tables on.
NEIGHBOUR_DEVS=detect
## Template parameters
TEMPLATE=/var/lib/vz/template
## Defaults for VEs
VE_ROOT=/data/vz/root/$VEID
VE_PRIVATE=/data/vz/private/$VEID
CONFIGFILE="vps.basic"
DEF_OSTEMPLATE="debian-4.0-amd64-minimal"
## Load vzwdog module
VZWDOG="no"
## IPv4 iptables kernel modules
IPTABLES="ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length"
## Enable IPv6
IPV6="no"
## IPv6 ip6tables kernel modules
IP6TABLES="ip6_tables ip6table_filter ip6table_mangle ip6t_REJECT"
[Updated on: Fri, 21 March 2008 06:19] Report message to a moderator
|
|
|