У нас есть 64-битный сервер Mac OS X, на котором запущен mysql. У машины 48 ГБ оперативной памяти.
Вверху показано, как показано ниже.
MemRegions: 12053 total, 16G resident, 12M private, 76M shared. PhysMem: 2072M wired, 17G active, 29G inactive, 48G used, 21M free.
Главный вывод для mysql:
COMMAND %CPU TIME #TH #WQ #PORTS #MREGS RPRVT RSHRD RSIZE VPRVT VSIZE PGRP PPID STATE UID FAULTS
mysqld 31.9 07:27:15 69/4 0 204 655 15G+ 244K 15G+ 16G 23G 64202 1 running 74 4183172+
Один из запросов не выполняется для 20 тыс. Строк даже в течение> 12 часов. Я думаю, что это происходит, потому что доступная физическая память составляет всего 21 МБ. Но запрос выполняется за минуту для 2k строк.
Все ссылки на таблицы в запросах - myisam, но 2 таблицы - innodb.
Поскольку проблема связана с памятью, вот некоторые параметры mysql, которые интенсивно используют память.
key_buffer_size = 12 ГБ max_allowed_packet = 1 ГБ innodb_buffer_pool_size = 8 ГБ myisam_sort_buffer_size = 64 МБ
Может кто подскажет, есть ли что-то не так с конфигурацией.
включите журнал медленных запросов и посмотрите, есть ли у вас плохие запросы