Differences between version 5 and previous revision of SysControls.
Other diffs: Previous Major Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 5 | Last edited on Monday, October 18, 2004 5:08:27 am | by AristotlePagaltzis | Revert |
Older page: | version 4 | Last edited on Tuesday, October 12, 2004 1:51:47 pm | by JohnMcPherson | Revert |
@@ -1,53 +1,57 @@
-This page describes the various linux syscontrols
and what they do, these can be viewed/edited via the sysctl(8) command, or via /proc/sys/
. eg, kernel.panic can be viewed by
- /sbin/sysctl kernel.panic
-or
- cat /proc/sys/kernel/panic
+This page describes the various [Linux] SysControls
and what they do.
-!!!kernel
-!!kernel.panic
-This is
the number of seconds to wait after a kernel has panicked before the machine will reboot itself automatically
. Very useful for unattended servers
, or machines that are difficult to get physical access
to.
+SysControls can be viewed/edited via
the sysctl(8) command, or via <tt>/proc/sys/</tt>
. Therefore
, <tt>sysctl foo.bar</tt> is equivalent
to <tt>cat /proc/sys/foo/bar</tt>
.
-!!!net
-These sysctls control the networking. See also http://bec.at/support/ipsysctl
-tutorial/tcpvariables.html
-!!net.ipv4
-These control most of the IPv4 options
+----
-!net.ipv4.ip
_forwarding
-enable global IP forwarding. Very important.
+__kernel__::
-!net.ipv4.tcp
_fack
-Enable
__F
__orward __Ack__nowledgement congestion avoidance and fast retransmission. The value
is not used, if net
.ipv4.tcp_sack is not enabled. See http://www.psc.edu/networking/papers/fack_abstract.html
for details on how this option works. Basically it seems to assume
that missing sequence ranges
are dropped (ie, implies no reordering). Linux will disable fack on a per connection basis if it detects reordering
.
+
__kernel.panic
__::
+ This
is the number of seconds to wait after a kernel has panicked before the machine will reboot itself automatically
. Very useful
for unattended servers, or machines
that are difficult to get physical access to
.
-!
net.ipv4.tcp
_vegas
_cong_avoid ()
-Enable tcp vegas congestion avoidance. TCP Vegas is a congestion control algorithm that mostly these days is not considered to be particularly useful (see TCP Westward, below)
. TCP Vegas is a sender side (ie only used by the machine initiating the TCP connection) change and causes TCP to back off when it detects the [RTT] changing (ie, queuing is occuring)
. It works well when there is only a few flows using the bottleneck link
.
+__
net__::
+ These SysControls affect networking
. See also http://bec
.at/support/ipsysctl-tutorial/tcpvariables
.html
-!
net.ipv4.tcp
_westwood ()
-Enable TCP Westwood+ congestion control algorithm. This is a sender side change (like TCP Vegas) and estimates of throughput are kept to try and make sure that the stack uses the optimum amount of bandwidth at all times. Very useful, defaults off should probably be enabled for many sites
.
+ __
net.ipv4__::
+ The IPv4 specific networking SysControls
.
-!
net.ipv4.tcp
_low
_latency ()
-"If set, the TCP stack makes decisions that prefer lower latency as opposed to higher throughput" This seems to disable a function called tcp
_prequeue, no idea what it does
.
+ __
net.ipv4.ip
_forwarding
__::
+ Enable global IP forwarding. Very important
.
-!
net.ipv4.tcp_reordering
(3
)
-How many duplicate acks you need before you enter fast retransmit. IF you are on
a network with lots of reordering then this will need to be raised, linux can dynamically tune this on a per
TCP flow, so changing
it is normally not that necessary
.
+ __
net.ipv4.tcp_vegas_cong_avoid__
(
)::
+ [TCP] Vegas congestion avoidance is
a sender side congestion control algorithm (ie only used by the machine initiating the [
TCP] connection) that causes [TCP] to back off when
it detects the [RTT] changing (ie, queuing
is occuring).
+ It works well when there is only a few flows using the bottleneck link
.
-!net.ipv4.tcp_sack (1)
-Enable Selective Acknowledgement, reduces the number of segments that need
to be retransmitted when packet loss occurs
. Good to have on
, needed to be enabled by both the sender and the reciever
.
+ [TCP] Vegas is is no longer considered
to be particularly useful
. See [TCP] Westwood
, below
.
-!
net.ipv4.tcp_ecn
()
-Explicit Congestion Notification, this can be used by routers on the internet to signal that congestion
is imminent and to therefore to slow down sending before packet loss actually occurs. However many firewalls on the internet incorrectly detect the
[ECN
] data as an attack
and drop
all packets using ECN, sigh
.
+ __
net.ipv4.tcp_westwood__
()::
+ [TCP] Westwood+
is a sender side congestion control algorithm (like
[TCP
] Vegas) that keeps estimates of throughput to try
and make sure that the stack uses the optimum amount of bandwidth at
all times.
+ It is very useful and should probably be enabled for many sites
.
-!
net.ipv4.tcp_retries1
(3
)
-How many times
to send a [SYN]/[ACK]
packet before giving up
on a connection
.
+ __
net.ipv4.tcp_sack__
(1
)::
+ __S__elective __Ack__nowledgement reduces the number of segments that need
to be retransmitted when
packet loss occurs. Good to have
on, needed to be enabled by both the sender and the reciever
.
-!
net.ipv4.tcp_retries2 (15)
-How many times
to send a
[TCP
] data packet before giving up
on a connection.
+ __
net.ipv4.tcp_fack__::
+ Enable __F__orward __Ack__nowledgement congestion avoidance and fast retransmission. Only has an effect if __<tt>net.ipv4.tcp_sack</tt>__ is enabled. See http://www.psc.edu/networking/papers/fack_abstract.html for details on how this option works. Basically it seems
to assume that missing sequence ranges are dropped (ie, implies no reordering).
[Linux
] will disable Forward Acknowledgement
on a per
connection basis if it detects reordering
.
-!inet
.ipv4.tcp_syn
_retrans
(5
)
-How many times to send a
[SYN
] packet before giving up on
a connection
.
+ __net
.ipv4.tcp_low_latency_
_ (
)::
+ "If set, the
[TCP
] stack makes decisions that prefer lower latency as opposed to higher throughput."
+ This seems to disable
a function called __<tt>tcp_prequeue</tt>__, no idea what it does
.
-!inet
.ipv4.tcp_retrans
_collapse
(1
)
-If retransmissions should
be sent as full sized packets working around some
[TCP] implementation bugs (?)
.
+ __net
.ipv4.tcp_reordering_
_ (3
)::
+ How many duplicate [ACK]s you need before you enter fast retransmit.
If you are on a network with lots of reordering then this will need to
be raised. [Linux] can dynamically tune this on a per
[TCP] flow basis, so changing it is normally not that necessary
.
+ __net.ipv4.tcp_ecn__ (0)::
+ Explicit Congestion Notification can be used by routers on the internet to signal that congestion is imminent and to therefore to slow down sending before packet loss actually occurs. However many firewalls on the internet incorrectly detect the [ECN] data as an attack and drop all packets using [ECN]. Sigh.
+ __net.ipv4.tcp_retries1__ (3)::
+ How many times to send a [SYN]/[ACK] packet before giving up on a connection.
-----
+ __net.ipv4.tcp_retries2__ (15)::
+ How many times to send a [TCP] data packet before giving up on a connection.
+
+ __inet.ipv4.tcp_syn_retrans__ (5)::
+ How many times to send a [SYN] packet before giving up on a connection.
+
+ __inet.ipv4.tcp_retrans_collapse__ (1)::
+ Whether retransmissions should be sent as full sized packets. Presumably works around some [TCP] implementation bugs.