Зависание компа из-за mysql (FreeBSD)

phreak

Guest
Зависание компа из-за mysql (FreeBSD)

Вобщем иногда мой комп, ан котром хостинг просто не принимает никакие запросы. Я не могу достучаться ни на ftp, ни на ssh, ни на http. На http висит IPB с 90 человек онлайн. На форуме более 400 тысяч мессаг, база более 300Мб.
Я думаю дело в mysql.
Вот что я увидел в лог-файле:
mysqld got signal 11;
This could be because you hit a bug. It is also possible that this binary or one of the libraries
it was linked against is corrupt, improrerly built,
of misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefulle help diagnose
the problem, but since we have already crashed, something is definitely wrong
and this may fail

key_buffer_size=268435456
read_buffer_size=1044480
max_used_connections=0
max_connections=300

threads_connected=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 875341 bytes of memory
Hope that's ok; if not, decrease some variables in the question
:(( На сервере FreeBSD 5.3-RELEASE и примерно 700Мб оперативки.
Можно что-то изменить?
 

confguru

ExAdmin
Команда форума
Поставить 2 Гб памяти и увеличит своп.
С другой строны может быть кривость в установке, какая
версия MySQL?
 

Dimush

Guest
phreak, если есть возможность, попробуй запустить mysqld c ключем --skip-name-resolve
 

phreak

Guest
Dimush, возможность есть, но что это даст?
 

ys

отодвинутый новичок
phreak

Не знаю с чем это связано в недрах mysqld, но часто применение этого ключика кардинально снижает нагрузку на CPU.

У меня была ситуация, что mysqld жрет 98% CPU, при этом в show processlist - нет ни одного запроса.

Добавил --skip-name-resolve, все стало более менее.
До кучи добавил --skip-networking, т.к. пользуюсь соединением только через unix socket.

-~{}~ 30.08.05 11:21:

Да, кстати, что там в dmesg?
Не орет что-нибудь про out of swap .... ?
 

neko

tеam neko
вообще 5-ая ветка она офигенно нестабильна
под нагрузкой ложится
у меня везде стоит 4.11

с надеждой смотрим на шестерку
 

ys

отодвинутый новичок
neko

после колдовства с кодировками при переходе с 4.0* на 4.1*, на шестерку скорее нужно смотреть с ужасом :)
 

Dimush

Guest
phreak
Отсутствие во фре thread safe варианта gethostbyname() приводит к тому, что mysql может на ровном месте, вдруг сожрать все ресурсы процессора.
Вроде поправить уже обещали, в любом случае есть несколько вариантов решения проблемы, и раз уж есть возможность, запускай mysqld c --skip-name-resolve.
 

Разгильдяй

Новичок
Что делает --skip-name-resolve? И как стартовать mysqld самому, если он стартуется сейчас как service?
 

alexhemp

Новичок
Разгильдяй

очевидно --skip-name-resolve отключает ресолвинг обратных зон DNS при записи в логи.

Это можно посмотреть набрав man mysqld

никаких "сервисов" в Unix нет. а есть процессы запускаемые на старте системы.

если ставил mysql из портов, что есть наиболее удобный и правильный путь, то скрипт запуска уже установлен в /usr/local/etc/rc.d

Если ты посмотришь его код, то увидишь, что он использует переменные из файла /etc/rc.conf

а именно
mysqld_enable="yes"
и
mysqld_args (в твоем случае нужно написать mysqld_args="--skip-name-resolve --skip-networking")

neko
ты про FreeBSD - а он про mysql... теплое с мягким перепутал :)

На деле переход на шестерку - это хорошо, там вроде сделали нормальные треды избавившись от GIANT Lock (что это я толком не понимаю, но думаю что-то относящеяся к планировщику процессов).

Релиз шестерки - не за горами, надеюсь очередной четной версии уготована такая-же судьба как ветке 4.x :)
 

neko

tеam neko
во первых это очень все старо, информация 3х летней давности по такому вопросу ценности не имеет
во-вторых я вообще не вижу особого смысла в том чтобы фрю ставить на smp коробки
 

corda

Новичок
Автор оригинала: neko
во первых это очень все старо, информация 3х летней давности по такому вопросу ценности не имеет
во-вторых я вообще не вижу особого смысла в том чтобы фрю ставить на smp коробки
К сожалению для FreeBSD эта информация на данный момент по прежнему актуальна.
 
Сверху