I’m using Percona 5.5.16 on a server with > 160k tables spread throughout 1500 databases, which results in the data dictionary size continually increasing.
I have innodb_dict_size_limit set to 512MB:
root@use-shard1a [(none)]>show global variables like ‘innodb_dict%’;±-----------------------±----------+| Variable_name | Value |±-----------------------±----------+| innodb_dict_size_limit | 536870912 |±-----------------------±----------+1 row in set (0.00 sec)
However, the size displayed in show engine innodb status continues to exceed that number and the memory of the instance continues to grow:
----------------------BUFFER POOL AND MEMORY----------------------Total memory allocated 5515509760; in additional pool allocated 0Internal hash tables (constant factor + variable factor) Adaptive hash index 97144368 (84999608 + 12144760) Page hash 5313416 (buffer pool 0 only) Dictionary cache 930283019 (21251312 + 909031707) File system 493420352 (82672 + 493337680) Lock system 13282728 (13281976 + 752) Recovery system 0 (0 + 0)Dictionary memory allocated 909031707
I’m at a loss for why dictionary size continues to grow, despite the limit being set. What would cause this behavior?