Linux increasing or decreasing TCP sockets timeouts

Some time it is necessary to increase or decrease timeouts on TCP sockets. You can use /proc/sys/net/ipv4/tcp_keepalive_time to setup new value.

ADVERTISEMENTS

The number of seconds a connection needs to be idle before TCP begins sending out keep-alive probes. Keep-alives are only sent when the SO_KEEPALIVE socket option is enabled. The default value is 7200 seconds (2 hours).

For example set value to 2400 seconds:

echo 2400 > /proc/sys/net/ipv4/tcp_keepalive_time

You can make changes to /proc filesystem permanently using /etc/sysctl.conf

Further reading

  • See man page of ip(7) and tcp(7) for more details.
  • Securing and Optimizing Linux book (by OpenNA), network optimization chapter
🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source & DevOps topics via:
CategoryList of Unix and Linux commands
File Managementcat
FirewallCentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNCentOS 8 Debian 10 Firewall Ubuntu 20.04

ADVERTISEMENTS
2 comments… add one
  • KryDos Jan 29, 2015 @ 7:48

    Thank you for this note.

    But I still have a question
    tcp_keepalive_time means that socket connection will be killed in 2 hours (by default) in any case or if socket connection is not active (messages are not sending)?

  • Wellington Torrejais da Silva Dec 31, 2015 @ 12:09

    Thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.