Discussion:
net.core.rmem / net.core.wmem
Oliver Falk
2008-02-28 08:45:41 UTC
Permalink
Guys,

Having various distributions here I can see the following:

Debian 4.0:
net.core.wmem_default = 109568
net.core.rmem_default = 109568
net.core.wmem_max = 131071
net.core.rmem_max = 131071

SuSE 10:
net.core.wmem_default = 262144
net.core.rmem_default = 262144
net.core.wmem_max = 2097152
net.core.rmem_max = 2097152

Fedora 8:
net.core.wmem_default = 124928
net.core.rmem_default = 124928
net.core.wmem_max = 131071
net.core.rmem_max = 131071


SuSE does set other values in sysctl.conf. There must be a reason to do
so, don't you think?

What does make sense? Does anyone have experimented with these and other
(related) values ? Does anyone have experience with sysctl values in
pure gigabit ethernet environments?

Thx,
Oliver
Alan Cox
2008-02-28 10:51:16 UTC
Permalink
Post by Oliver Falk
What does make sense? Does anyone have experimented with these and other
(related) values ? Does anyone have experience with sysctl values in
pure gigabit ethernet environments?
The maximum windowing is mostly dependant on latency x speed rather than just
speed so benefits normally show up on very fast international links (or
cross US ones perhaps)
Pekka Savola
2008-02-28 11:09:01 UTC
Permalink
Post by Oliver Falk
net.core.wmem_default = 109568
net.core.rmem_default = 109568
net.core.wmem_max = 131071
net.core.rmem_max = 131071
net.core.wmem_default = 262144
net.core.rmem_default = 262144
net.core.wmem_max = 2097152
net.core.rmem_max = 2097152
net.core.wmem_default = 124928
net.core.rmem_default = 124928
net.core.wmem_max = 131071
net.core.rmem_max = 131071
SuSE does set other values in sysctl.conf. There must be a reason to do
so, don't you think?
What does make sense? Does anyone have experimented with these and other
(related) values ? Does anyone have experience with sysctl values in
pure gigabit ethernet environments?
These values set the socket buffer defaults for all protocols. In
practise, these values are not very interesting. The more interesting
values are net.ipv4.tcp_rmem and net.ipv4.tcp_wmem which override the
net.core.[rw]mem* socket buffer values for TCP.

For performance tuning especially in high-RTT environments, I'd
recommend starting reading here and also looking at the references
section:

http://kb.pert.geant2.net/PERTKB/LinuxOSSpecific
--
Pekka Savola "You each name yourselves king, yet the
Netcore Oy kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings
Oliver Falk
2008-02-28 08:45:41 UTC
Permalink
Guys,

Having various distributions here I can see the following:

Debian 4.0:
net.core.wmem_default = 109568
net.core.rmem_default = 109568
net.core.wmem_max = 131071
net.core.rmem_max = 131071

SuSE 10:
net.core.wmem_default = 262144
net.core.rmem_default = 262144
net.core.wmem_max = 2097152
net.core.rmem_max = 2097152

Fedora 8:
net.core.wmem_default = 124928
net.core.rmem_default = 124928
net.core.wmem_max = 131071
net.core.rmem_max = 131071


SuSE does set other values in sysctl.conf. There must be a reason to do
so, don't you think?

What does make sense? Does anyone have experimented with these and other
(related) values ? Does anyone have experience with sysctl values in
pure gigabit ethernet environments?

Thx,
Oliver
Alan Cox
2008-02-28 10:51:16 UTC
Permalink
Post by Oliver Falk
What does make sense? Does anyone have experimented with these and other
(related) values ? Does anyone have experience with sysctl values in
pure gigabit ethernet environments?
The maximum windowing is mostly dependant on latency x speed rather than just
speed so benefits normally show up on very fast international links (or
cross US ones perhaps)
Pekka Savola
2008-02-28 11:09:01 UTC
Permalink
Post by Oliver Falk
net.core.wmem_default = 109568
net.core.rmem_default = 109568
net.core.wmem_max = 131071
net.core.rmem_max = 131071
net.core.wmem_default = 262144
net.core.rmem_default = 262144
net.core.wmem_max = 2097152
net.core.rmem_max = 2097152
net.core.wmem_default = 124928
net.core.rmem_default = 124928
net.core.wmem_max = 131071
net.core.rmem_max = 131071
SuSE does set other values in sysctl.conf. There must be a reason to do
so, don't you think?
What does make sense? Does anyone have experimented with these and other
(related) values ? Does anyone have experience with sysctl values in
pure gigabit ethernet environments?
These values set the socket buffer defaults for all protocols. In
practise, these values are not very interesting. The more interesting
values are net.ipv4.tcp_rmem and net.ipv4.tcp_wmem which override the
net.core.[rw]mem* socket buffer values for TCP.

For performance tuning especially in high-RTT environments, I'd
recommend starting reading here and also looking at the references
section:

http://kb.pert.geant2.net/PERTKB/LinuxOSSpecific
--
Pekka Savola "You each name yourselves king, yet the
Netcore Oy kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings
Loading...