Linux increasing or decreasing TCP sockets timeouts

last updated in Categories Linux, Troubleshooting, Tuning

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.

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

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

2 comment

  1. 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)?

    Have a question? Post it on our forum!