Centos и ошибка kernel

sheva
На сайте с 05.08.2006
Offline
134
4640

Неделю назад периодически начал зависать сервер, httpd плодятся, cpu растет до 200. В логах apache, nginx, mysql никаких записей об ошибках не увидел. в messeges нашел ошибку kernel

kernel: INFO: task httpd.itk:2202 blocked for more than 120 seconds.
kernel: Not tainted 2.6.32-504.el6.x86_64 #1
kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
kernel: httpd.itk D 0000000000000007 0 2202 2199 0x00000080
kernel: ffff880216275ca8 0000000000000086 ffff880216275c70 ffff880216275c6c
kernel: 0000000000000007 ffff88021fc24f00 00000018e0a73674 ffff8800282168c0
kernel: 00000000000004ff 00000000fffd0b28 ffff8802173c9098 ffff880216275fd8
kernel: Call Trace:
kernel: [<ffffffff8152b346>] __mutex_lock_slowpath+0x96/0x210
kernel: [<ffffffff8152ae6b>] mutex_lock+0x2b/0x50
kernel: [<ffffffff8118c128>] do_truncate+0x58/0xa0
kernel: [<ffffffff8122e5cf>] ? security_inode_permission+0x1f/0x30
kernel: [<ffffffff811a1231>] do_filp_open+0x861/0xd20
kernel: [<ffffffff81193984>] ? cp_new_stat+0xe4/0x100
kernel: [<ffffffff81298eea>] ? strncpy_from_user+0x4a/0x90
kernel: [<ffffffff811adf82>] ? alloc_fd+0x92/0x160
kernel: [<ffffffff8118ae07>] do_sys_open+0x67/0x130
kernel: [<ffffffff8118af10>] sys_open+0x20/0x30
kernel: [<ffffffff8100b072>] system_call_fastpath+0x16/0x1b

Где искать причину?

система CentOS release 6.6 (Final)

Linux 2.6.32-504.el6.x86_64

RAS
На сайте с 27.11.2005
Offline
126
RAS
#1

искать на чем их блочит так долго, что-то они делают. как минимум strace или truss помогут.

Администрируем сервера, впс, вдс. Ускоряем загрузку сайтов - DLE, Word Press, Joomla, Modx... Настраиваем безопасность. Ручная чистка rootkit/malware/вирусов. (/ru/forum/867860) Разработка - shell/bash/sh/python/perl.
Andreyka
На сайте с 19.02.2005
Offline
822
#2

Скорее всего с диском проблема

Не стоит плодить сущности без необходимости
sheva
На сайте с 05.08.2006
Offline
134
#3

iostat показывает что грузят процессы mysqld по 99% загрузки. Получается mysql не успевает обрабатывать запросы и httpd плодятся. Хотя конфиги никакие не менелясь, но проблема такая появилась неделю назад. Еще посмотрел, что kernel был обновлен примерно в это же время. Может в этом проблема?

Еще добавил 3 ip в бан с помощью iptables, с которых было много подключений, после чего зависания вроде прошли. Если так продержится долгое время, значит был http-flood

pupseg
На сайте с 14.05.2010
Offline
347
#4

tcpdump -A -s0 -ni eth0 port 80 | grep Host

какой хост больше всего вызывает соединений?

cat /etc/my.cnf | grep -v '#' | grep -v '^$'

Качественная помощь в обслуживании серверов. (/ru/forum/661100) Бесплатных консультаций не даю, не помогаю, не обучаю. Минималка от 100$. Как пропатчить KDE-просьба не спрашивать. Есть форумы (http://linux.org.ru) и полезные сайты (http://www.opennet.ru/).
sheva
На сайте с 05.08.2006
Offline
134
#5

tcpdump показывает разные домены, одного опредленого нет

еще интересно что

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

показывает что больше всего соединений с пустого ip

[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-external-locking
low-priority-updates
innodb=OFF
default_storage_engine=MyISAM
key_buffer_size = 600M
max_allowed_packet = 1M
table_open_cache = 3000
table_cache=3000
tmp_table_size=200M
max_heap_table_size=200M
sort_buffer_size = 8M
read_buffer_size = 2M
read_rnd_buffer_size = 2M
myisam_sort_buffer_size = 8M
thread_cache_size = 40M
query_cache_size = 160
thread_concurrency = 2
max_connections=200M
server-id = 1
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
T
На сайте с 09.12.2011
Offline
55
tls
#6
sheva:
max_connections=200M

Однако.

System Variable Name	max_connections

Variable Scope Global
Dynamic Variable Yes
Permitted Values
Type numeric
Default 151
Min Value 1
Max Value 100000
sheva
На сайте с 05.08.2006
Offline
134
#7
max_connections=200M

опечатка, в конфиге

max_connections=200

это я потом вручную в сообщении случайно добавил М

начал блокировать через iptables подсети с большим числом соединений, стало немного легче

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий