Назад | Перейти на главную страницу

MySQL процесс большой

Хорошо, поэтому я не знаю, повторяется ли это вопрос, поэтому извините, если это так (я не смог найти ничего подобного после поиска = /)

Кажется, что на моем сервере работает то, что мне кажется более масштабным, чем обычный процесс mysql:

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
31382 mysql     20   0  562m  97m 4244 S   73 19.7   2830:07 mysqld

Но затем, когда я делаю SHOW PROCESSLIST в mysql, все кажется спящим:

mysql> SHOW PROCESSLIST;
+------+-------+-----------+------+---------+------+-------+------------------+
| Id   | User  | Host      | db   | Command | Time | State | Info             |
+------+-------+-----------+------+---------+------+-------+------------------+
| 3982 | dlp_w | localhost | dlp  | Sleep   |  767 |       | NULL             |
| 3983 | dlp_r | localhost | dlp  | Sleep   |    0 |       | NULL             |
| 3986 | dlp_w | localhost | dlp  | Sleep   |  788 |       | NULL             |
| 3987 | dlp_r | localhost | dlp  | Sleep   |    0 |       | NULL             |
| 3988 | dlp_w | localhost | dlp  | Sleep   |  727 |       | NULL             |
| 3989 | dlp_r | localhost | dlp  | Sleep   |    0 |       | NULL             |
| 4019 | root  | localhost | dlp  | Query   |    0 | NULL  | SHOW PROCESSLIST |
| 4020 | dlp_w | localhost | dlp  | Sleep   |  708 |       | NULL             |
| 4021 | dlp_r | localhost | dlp  | Sleep   |    0 |       | NULL             |
| 4022 | dlp_w | localhost | dlp  | Sleep   |   57 |       | NULL             |
| 4023 | dlp_r | localhost | dlp  | Sleep   |    0 |       | NULL             |
| 4024 | dlp_w | localhost | dlp  | Sleep   |  788 |       | NULL             |
| 4025 | dlp_r | localhost | dlp  | Sleep   |    0 |       | NULL             |
+------+-------+-----------+------+---------+------+-------+------------------+

Хотя меня также смущает, почему так много спящих процессов. Разве все они не должны исчезнуть после завершения выполнения команды?

Спасибо за любую помощь = D

Процесс использует только 100 мегабайт памяти. Если в вашей конфигурации включено кэширование, он поместит запрос + результаты в память, чтобы сделать следующие быстрее.

Что касается спящих подключений. Это соединения из вашего приложения, которые еще не закрыты. Для mysql было бы ужасным предположением закрывать соединение после каждого запроса. Это будет означать, что ваше приложение должно будет открывать новое соединение для каждого запроса и замедлять время рендеринга для загрузки страницы.