What's ARP Table Overflow?
ARP table overflow happens when your network device (like a switch, router, or even your Windows PC) runs out of memory to store IP-to-MAC address mappings. When the table fills up, new devices can't communicate, and existing connections drop randomly. I've seen this mostly on older Cisco 2960 switches and home routers with 100+ connected devices.
Typical symptoms: devices disconnect and reconnect, ping times jump from 5ms to 500ms, websites load halfway then stall. You might see event log entries like "ARP table overflow" or "ARP cache capacity exceeded."
Fix 1: Clear ARP Cache (30 seconds)
This is the fastest fix. It flushes the ARP table and forces the device to rebuild it. Works on routers, switches, and Windows PCs. Try this first, but know it's temporary — the overflow will come back if the root cause isn't fixed.
On Windows 10/11
Open Command Prompt as Administrator. Run:
netsh interface ip delete arpcache
Then verify with:
arp -a
Your ARP table should show only a few entries now. If your network comes back to life, great — but expect the problem to return within hours if you have too many devices.
On Cisco Switch (like Catalyst 2960)
clear arp-cache
This clears the entire ARP table. Your switch will re-learn mappings from scratch. It takes about 30 seconds for the network to stabilize.
On Home Router (TP-Link, Asus, Netgear)
Reboot the router. That's the only way most home routers let you clear ARP. Pull the power for 30 seconds, plug it back in.
When this fix works: If your network has fewer than 200 devices and the overflow just started. If it's a chronic problem, you need Fix 2 or 3.
Fix 2: Tweak ARP Timeout (5 minutes)
ARP table entries have a lifetime (default is usually 4 hours on Cisco, 2 minutes on Windows). If your devices come and go often (think Wi-Fi clients, employee laptops), the table fills up faster. Shortening the timeout ages out stale entries faster.
On Windows
Windows doesn't let you change ARP timeout easily. But you can reduce the number of stale entries by disabling NetBIOS over TCP/IP. That alone cut ARP entries by 30% on our network.
- Open Network Connections (Win+R, type
ncpa.cpl) - Right-click your adapter → Properties
- Select Internet Protocol Version 4 (TCP/IPv4) → Properties
- Click Advanced → WINS tab
- Select Disable NetBIOS over TCP/IP
Reboot. Now fewer ARP entries get created.
On Cisco Switch
Log into the CLI and switch to global config mode:
conf t
arp timeout 600
This sets ARP timeout to 600 seconds (10 minutes) instead of the default 14400 (4 hours). Entries now age out faster, keeping the table emptier. Test this for a day — if the overflow stops, you're golden. If it still happens, you need the last fix.
When this fix works: When you have lots of devices that connect/disconnect often. Wi-Fi networks with many guests or BYOD laptops benefit the most.
Fix 3: Increase ARP Table Size (15+ minutes)
This is the real fix for networks that simply have too many devices. Default ARP table sizes are small: 300 on Cisco 2960, 512 on many Juniper EX, 256 on older Windows. If you have 600 devices on your subnet, you'll overflow constantly.
On Cisco Switch
conf t
arp table-size 1000
This increases the ARP table to 1000 entries. For larger networks, go to 2000 or even 4096 if your switch has enough RAM. Check available memory first:
show memory statistics
If free memory is below 50%, don't go above 2000. I made that mistake once — the switch crashed when ARP table hit 1800.
On Windows (Registry Edit — Advanced!)
Windows doesn't have a simple toggle. You can tweak the registry:
- Open Registry Editor (Win+R, type
regedit) - Go to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters - Create a DWORD (32-bit) named
MaxNumArpEntries(if it doesn't exist) - Set the value to
1024(decimal) — Windows max is usually 4096 - Reboot
Warning: Messing with the wrong registry key can break networking. Backup the key first. I've done this on Windows 10 Pro 22H2 and it works fine.
On Linux (Ubuntu/Debian)
Edit /etc/sysctl.conf as root. Add or change:
net.ipv4.neigh.default.gc_thresh3 = 2048
Apply with sysctl -p. This sets the maximum ARP table entries to 2048.
When this fix works: Always, if you have more devices than the default table size. But test it — some switches get unstable above 2000 entries. Monitor CPU usage for the next hour.
Quick Test After Any Fix
After applying a fix, verify ARP overflow stopped. On the affected device, run:
arp -a | wc -l
On Windows, use:
arp -a | find /c /v ""
Compare the count to your device limit. If you're under 80% of the limit, you're safe. If it's over 90%, you'll overflow again soon — go to Fix 3.
One more thing: if none of these work, check for a network loop. A single switchport with a loop can flood the ARP table with entries. Disconnect suspicious cables one by one and watch the count drop.