Windows
Older versions of Windows used to have a timeout of 2 minutes for ARP entries.
This has changed in Vista and Server 2008 onwards to comply with RFC4861. The new implementation has lowered this time to a random value between 15 seconds and 45 seconds.
To see the ARP cache timeout for a network interface on Windows:
- Run:
netsh interface ipv4 show interfaces
- Get the interface ID for the required interface from the above command.
- Run:
netsh interface ipv4 show interface <interface ID from step 1>
- See the "Reachable Time" in the output from the above command.
On my computer with Windows 10 this gives 17500 ms.

This MS KB article explains the timeout for ARP cache entries on Windows:
Description of Address Resolution Protocol (ARP) caching behavior in Windows Vista TCP/IP implementations.
Ubuntu
You can get the default arp cache timeout by:
cat /proc/sys/net/ipv4/neigh/default/gc_stale_time
The default is usually 60
, meaning 60 seconds until an entry is removed. Every time the entry is used in the table, the timer for this entry resets to 60 seconds.
Additionally you can set it by:
echo 3600 >/proc/sys/net/ipv4/neigh/default/gc_stale_time
Or permanently in the config file /etc/sysctl.conf
.