If I have 15 switches on the same VLAN and each switch has an upper limit on mac-addresses of 16k, and one of them is reaching that upper limit of 16k, what would be the best approach to mitigate this problem? My understanding is that once the switch hits that mark, it will start cycling through removing the oldest mac-addresses first to make room for the new. The problem with this is that drives up CPU, and the switch then spends more time managing its mac-table than forwarding traffic to it intended destination, leading to connection problems for the users connected to that switch. Whats the best way to deal with this aside from getting a new switch that supports more mac's?
If you're running into a Layer 2 limit, then instead of tweaking your Layer 2 parameters to handle the unusually large (and probably unsupported) number of hosts, you might want to move up the stack to Layer 3.
If you create IP subnets based on geographic regions to minimise transition from one network to the other, and keep those zones to separate switches, you would in turn decrease your MAC address load.
Theoretically, two subnets will reduce your MAC load by half. Three by a third, and so on.
There could also be an issue with your ARP timers - if your system is keeping MAC addresses around too long, that could be contributing to the problem.