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

долго висят процессы

Добавлено: 2012-02-28 5:24:23
.scu
заметила одну странность, процессы mysqld очень долго висят и их ощутимо больше, чем процессов mysql.

приведу пример:

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

mysql> SHOW PROCESSLIST;
+---------+-------+-----------+-------+---------+------+-------+------------------+
| Id      | User  | Host      | db    | Command | Time | State | Info             |
+---------+-------+-----------+-------+---------+------+-------+------------------+
| 2270236 | vexim | localhost | vexim | Sleep   |    8 |       | NULL             |
| 2270317 | vexim | localhost | vexim | Sleep   |    9 |       | NULL             |
| 2270327 | vexim | localhost | vexim | Sleep   |    9 |       | NULL             |
| 2270419 | vexim | localhost | vexim | Sleep   |    9 |       | NULL             |
| 2270507 | vexim | localhost | vexim | Sleep   |    9 |       | NULL             |
| 2400225 | perf  | localhost | perf  | Sleep   |    0 |       | NULL             |
| 2403507 | vexim | localhost | vexim | Sleep   |   32 |       | NULL             |
| 2403512 | vexim | localhost | vexim | Sleep   |   30 |       | NULL             |
| 2403522 | vexim | localhost | vexim | Sleep   |   21 |       | NULL             |
| 2403523 | vexim | localhost | vexim | Sleep   |   21 |       | NULL             |
| 2403524 | vexim | localhost | vexim | Sleep   |   19 |       | NULL             |
| 2403546 | root  | localhost | NULL  | Query   |    0 | NULL  | SHOW PROCESSLIST |
| 2403547 | vexim | localhost | vexim | Sleep   |    1 |       | NULL             |
| 2403548 | vexim | localhost | vexim | Sleep   |    1 |       | NULL             |
+---------+-------+-----------+-------+---------+------+-------+------------------+
14 rows in set (0.00 sec)
при этом в процессах при просмотре через htop их гораздо больше:
Изображение

т.е. получается они почему-то живут очень долго и не умирают.

как можно исправить ситуацию? что управляет временем жизни процесса (когда он завершится), после того, как он уже выполнил свою ф-цию (в mysql его нет даже в sleep).

Re: долго висят процессы

Добавлено: 2012-02-28 5:59:53
.scu
под процессами mysql имелись ввиду потоки процесса :)

Re: долго висят процессы

Добавлено: 2012-02-28 6:53:53
FiL
потоки висят не потому, что они не завершились или не умерли после завершения. Они висят потому, что мускул так устроен.

http://dev.mysql.com/doc/refman/5.0/en/ ... reads.html

Для начала - show variables like "%thread%";
И смотреть что там и где. Но в целом... ну висят. Жалко что-ли? :)

Re: долго висят процессы

Добавлено: 2012-02-28 21:29:42
.scu
жалко конечно - ресурсы же ест :)

Re: долго висят процессы

Добавлено: 2012-02-28 22:13:28
FiL
какие такие ресурсы? Потоки не едят дополнительных ресурсов. Всё внутри одного процесса.
На нагруженном сервере можно (нужно) выставлять пул потоков, дабы каждый раз новые потоки не стартовать. Но это уже немного другая история.

Re: долго висят процессы

Добавлено: 2012-02-29 18:59:25
.scu
понятно, спасибо :)
я просто почему-то думала, что чем больше потоков есть в наличии - тем больше загрузка (не знала, что они не едят ресурсы), видимо сказывается отсутствие понимания принципов работы потоков в данном случае.

p.s. глянь пожалуйста ЛС

Re: долго висят процессы

Добавлено: 2012-03-02 21:05:16
FiL
.scu писал(а):понятно, спасибо :)
я просто почему-то думала, что чем больше потоков есть в наличии - тем больше загрузка (не знала, что они не едят ресурсы), видимо сказывается отсутствие понимания принципов работы потоков в данном случае.

p.s. глянь пожалуйста ЛС
да я глядел в туда, даже с ботом в аскьке пообщался на предмет странных вопросов.
Я редко в аське бываю, но если увидишь, то стучись, да.