Страница 1 из 1

при рестарте mysql зависает его же процесс

Добавлено: 2008-04-24 14:15:19
freeman_tnu
С недавнего времени не могу рестартануть мускуль скриптом /usr/local/etc/rc.d/mysql-server restart, он просто пытается остановить свой процесс и не может, тоесть Waiting for pids: ..... и отображается номер пида процесса мускуля через запятую, в это время уже к базе подключиться нельзя но процесс мускуля висит и даже kill не помагает, спасает только полный рестарт сервера. /usr/local/etc/rc.d/mysql-server stop и /usr/local/etc/rc.d/mysql-server start тоже не помагают. Данные:

Код: Выделить всё

FreeBSD 6.2-RELEASE amd64 
CPU: Intel(R) Xeon(R) CPU 5140 @ 2.33GHz (2327.54-MHz K8-class CPU) FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs 
real memory = 9395240960 (8960 MB) 

Код: Выделить всё

mysql-client-5.0.45_1 
mysql-server-5.0.45_1 

Код: Выделить всё

[client]
port            = 3306
socket          = /tmp/mysql.sock
[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-locking
key_buffer = 384M
max_allowed_packet = 1M
table_cache = 512
sort_buffer_size = 128M
read_buffer_size = 512M
read_rnd_buffer_size = 128M
 
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 128M
query_cache_limit = 256M
thread_concurrency = 8
log-bin
log-slow-queries = /var/data/mysql/slow.log
long_query_time = 10
server-id       = 1
innodb_buffer_pool_size = 6144M
innodb_additional_mem_pool_size = 256M
innodb_file_io_threads = 16
innodb_log_buffer_size = 4M
innodb_thread_concurrency = 8
key_buffer_size = 256M
tmp_table_size =  768M
innodb_flush_log_at_trx_commit=0
innodb_log_file_size = 256M
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[isamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
Кто-нибудь с таким сталкивался? Как лечить?

Re: при рестарте mysql зависает его же процесс

Добавлено: 2008-04-24 14:22:04
hizel
мускул древнинький
может обновить? =/

Re: при рестарте mysql зависает его же процесс

Добавлено: 2008-04-24 14:35:29
freeman_tnu
hizel писал(а):мускул древнинький
может обновить? =/
дело явно не в этом :| есть еще один сервер с такой же версией мускуля и примерно с такой же конфигурацией и там все ок...

Re: при рестарте mysql зависает его же процесс

Добавлено: 2008-04-24 14:40:45
hizel
в логах я так понимаю тишина и покой?
попробуйте при зависании натравить на мускуля связку ktrace / kdump
мне с непонятным зависанием nagios помогло
во всяком случае может появится то от чего
можно отталкнутся в гугле

Re: при рестарте mysql зависает его же процесс

Добавлено: 2008-04-24 14:44:17
freeman_tnu
hizel писал(а):в логах я так понимаю тишина и покой?
именно так. попробую дампить и трейсить, спасибо. Но вообще странное поведение. Возможно у меня конфиг кривой?

Re: при рестарте mysql зависает его же процесс

Добавлено: 2008-04-24 15:21:13
zg
freeman_tnu писал(а): и даже kill не помагает,
kill -9 PID ?

Код: Выделить всё

man kill

Re: при рестарте mysql зависает его же процесс

Добавлено: 2008-04-27 23:23:46
Alex Keda
zg писал(а):
freeman_tnu писал(а): и даже kill не помагает,
kill -9 PID ?

Код: Выделить всё

man kill
на восьмёрке постоянно наблюдаю как даже это не помогает.
причём плавающая ошибка одного и того же приложения - второй лисы.
если сделать килл, а оно не умрёт (окно пропало но в процессах есть) то после этого уже и килл -9 не помогает.
девятый килл всегда убивает, если сразу юзать его.

Re: при рестарте mysql зависает его же процесс

Добавлено: 2008-04-28 8:16:17
zg
lissyara писал(а):если сделать килл, а оно не умрёт (окно пропало но в процессах есть) то после этого уже и килл -9 не помогает.
девятый килл всегда убивает, если сразу юзать его.

Код: Выделить всё

MAN 
....

Some of the more commonly used signals:

     1       HUP (hang up)
     2       INT (interrupt)
     3       QUIT (quit)
     6       ABRT (abort)
     9       KILL (non-catchable, non-ignorable kill)
     14      ALRM (alarm clock)
     15      TERM (software termination signal)

EXIT STATUS
     The kill utility exits 0 on success, and >0 if an error occurs.
думаю нужно смотреть с каким кодом kill выходит, поскольку только 0 является признаком успеха

по идее, если kill -9 не убивает процесс, то это баг ядра, поскольку это грозит серьёзными утечками ресурсов, вплоть до невозможности перезагрузки...

Код: Выделить всё

kill -1 1
полная инициализация?

Re: при рестарте mysql зависает его же процесс

Добавлено: 2008-04-28 8:35:55
hizel
коме -9 реакцию на остальные сигналы определяет сам демон
и стараются, чтобы реакция на -HUP он же -1 была перечитывание конфигурации
но бывают различные исключения\вариации на эту тему

точную информацию обычно можно получить в разделе SIGNALS соответствующего man-а

вот например из named

Код: Выделить всё

SIGNALS
       In routine operation, signals should not be used to control the
       nameserver; rndc should be used instead.

       SIGHUP
          Force a reload of the server.

       SIGINT, SIGTERM
          Shut down the server.

       The result of sending any other signals to the server is undefined.

Re: при рестарте mysql зависает его же процесс

Добавлено: 2008-04-28 8:53:48
Alex Keda
произойдёт - попробую.
тока я уже файрфокс обычно не закрываю =))
=========
кстати - ребут проходит нормально, тока в конце ругается, типа того:
некоторые процессы не умерли, чё-то там траля-ля...