我们有一个运行mysql的64位mac os x服务器。 该机器有48 GB的RAM。
顶部显示如下。
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+
其中一个查询即使超过12小时也不能完成20k行。 我认为抖动正在进行,因为可用的物理内存只有21M。 但是查询在2k行中完成了一分钟。
查询中的所有表引用是myisam,但是2个表是innodb。
作为内存的问题,这里是一些内存密集型的MySQL参数。
key_buffer_size = 12G max_allowed_packet = 1G innodb_buffer_pool_size = 8G myisam_sort_buffer_size = 64M
有人可以告诉我,如果configuration有任何问题。
启用慢查询日志,看看是否有任何不良的查询进行