2014-01-03 4 views
0

Почему моя mysql запускает эту команду и кушает много моего процессора (55 - 120%) Я пробовал все. Покажите процесс и оптимизируйте весь мой запрос, Медленный журнал запросов, увеличьте буферный размер.Mysql Всегда имеет высокий уровень использования процессора

Также я снова и снова убивал этот процесс, но он продолжает работать. Что делает эта команда? Почему мой mysql потребляет много моего процессора на моем сервере? Я не могу проследить, что стало причиной высокого использования процессора.

Команда:

/usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --log-error=/var/lib/mysql/srv1.myserver.com.err --pid-file=/var/lib/mysql/srv1.myserver.com.pid 
+1

Проверьте количество max_connections и max_user_connections для MySQL. Эти переменные влияют на использование ЦП и ОЗУ. – jagmohan

+0

http://stackoverflow.com/questions/1282232/mysql-high-cpu-usage –

+0

уже пробовал, что Nagaraj S – user2095165

ответ

5

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

  1. Высокая нагрузка пользователя на приложение
  2. Нижняя или несовместимыми аппаратной конфигурации сервера БД (процессор, память, SWAP размер файла и т.д.) сервер
  3. базы данных сконфигурировано не надлежащим образом

    • Используйте какой-то инструмент, как Teamquest проверить производительность системы и наблюдать загрузку процессора с количеством пользователей. Определите правильное количество пользователей в вашей системе в течение определенного периода времени. Используйте команду ниже для этого SELECT username, count(username) FROM session_table_of_application WHERE 1 GROUP BY username; Вы сможете найти максимальное количество пользователей, когда использование ЦП станет высоким.

    • Вы также должны проверить использование памяти в течение этого периода. Teamquest поможет вам и в этом. Запустите [MySQL Tuner][2], чтобы найти несоответствие в настройках MySQL.

    • Выполнить следующую команду, чтобы проверить глобальный статус: select * from information_schema.GLOBAL_STATUS

    • Выполнить следующую команду, чтобы проверить ниже важные системные переменные: show variables like 'innodb_buffer_pool_size'; show variables like 'innodb_flush_log_at_trx_commit'; show variables like 'innodb_open_files'; show variables like 'innodb_table_locks'; show variables like 'innodb_thread_concurrency'; show variables like 'join_buffer_size'; show variables like 'key_buffer_size'; show variables like 'max_connections'; show variables like 'max_delayed_threads'; show variables like 'max_heap_table_size'; show variables like 'max_tmp_tables'; show variables like 'thread_cache_size'; show variables like 'tmp_table_size'; show variables like 'wait_timeout'; show variables like 'myisam_sort_buffer_size';

    • Это может быть возможно, что есть некоторые вопросы, которые использует много ресурсов процессора. Итак, вы должны проверить список запросов, запущенных в течение этого периода. Выполните следующую команду для этого: SELECT HOST,COMMAND,TIME,INFO FROM INFORMATION_SCHEMA.PROCESSLIST where command !='sleep' and time>10 and command !='Binlog Dump' order by TIME desc;

Проанализировать все свои наблюдения и только тогда вы будете искать причину этой проблемы.Может быть, аппаратные средства отвечают или должны исправить системные переменные MySQL.

Смежные вопросы