Tuning /etc/sysctl.conf

cpm@

Moderator
Moderator
Developer
Hi people,

I'm very interested to tuning /etc/sysctl.conf according to the specifications of my PC. I've been reading some guides [1], tutorials [2-3], Q&A [4] and the FreeBSD Handbook's related section 12.12 Tuning with sysctl(8), but I think it's much more convenient if I contrast it with other examples.

Here is my relevant info outputs for help to improve the sysctl(8)() variables.

Code:
[CMD]% uname -a[/CMD]
FreeBSD freebsd 9.2-RELEASE FreeBSD 9.2-RELEASE #0 r255898: Fri Sep 27 03:52:52 UTC 2013     [email]root@bake.isc.freebsd.org[/email]:/usr/obj/usr/src/sys/GENERIC  i386

Code:
[CMD]% dmesg | grep CPU[/CMD]
CPU: Intel(R) Pentium(R) 4 CPU 2.40GHz (2394.06-MHz 686-class CPU)
cpu0: <ACPI CPU> on acpi0
p4tcc0: <CPU Frequency Thermal Control> on cpu0

Code:
[CMD]% dmesg | grep memory[/CMD]
real memory  = 2147483648 (2048 MB)
avail memory = 2082701312 (1986 MB)

Code:
[CMD]% pciconf -lvv | grep -n2 Ethernet[/CMD]
41-sis0@pci0:0:4:0:	class=0x020000 card=0x80a71043 chip=0x09001039 rev=0x91 hdr=0x00
42-    vendor     = 'Silicon Integrated Systems [SiS]'
43:    device     = 'SiS900 PCI Fast Ethernet'
44-    class      = network
45-    subclass   = ethernet

My /etc/sysctl.conf
Code:
# $FreeBSD: release/9.2.0/etc/sysctl.conf 112200 2003-03-13 18:43:50Z mux $
#
#  This file is read when going to multi-user and its contents piped thru
#  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
#

# Uncomment this to prevent users from seeing information about processes that
# are being run under another UID.
#security.bsd.see_other_uids=0
vfs.usermount=1
hw.snd.default_unit=2
kern.ipc.maxsockbuf=16777216
kern.ipc.nmbclusters=32768
kern.ipc.shm_allow_removed=1
kern.ipc.somaxconn=8192
kern.maxfiles=65536
kern.maxfilesperproc=32768
net.inet.tcp.blackhole=2
net.inet.tcp.delayed_ack=0
net.inet.tcp.path_mtu_discovery=0
net.inet.tcp.recvbuf_auto=1
net.inet.tcp.recvbuf_inc=16384
net.inet.tcp.recvbuf_max=16777216
net.inet.tcp.recvspace=65536
net.inet.tcp.rfc1323=1
net.inet.tcp.sendbuf_auto=1
net.inet.tcp.sendbuf_inc=8192
net.inet.tcp.sendspace=65536
net.inet.udp.blackhole=1
net.inet.udp.maxdgram=57344
net.inet.udp.recvspace=65536
net.local.stream.recvspace=65536
net.local.stream.sendspace=65536
net.inet.tcp.sendbuf_max=16777216
net.inet.ip.random_id=1
http://serverfault.com/questions/64356/freebsd-performance-tuning-sysctls-loader-conf-kernel
# Allow for up 2 GB of wired memory.
vm.max_wired=524288

I will appreciate any input or if you prefer, you can show yours sysctl.conf(5)() with the purpose of compare with mine.

Best regards :)

[1] http://harryd71.blogspot.com.es/2008/10/tuning-freenas-zfs.html
[2] https://wiki.freebsd.org/SystemTuning#SYSCTL_TUNING
[3] https://wiki.freebsd.org/NetworkPerformanceTuning
[4] http://serverfault.com/questions/64356/freebsd-performance-tuning-sysctls-loader-conf-kernel
 
I would suggest not tuning anything until you run into problems. The system has a way of finding the most optimum settings automatically.
 
SirDice said:
I would suggest not tuning anything until you run into problems. The system has a way of finding the most optimum settings automatically.

Indeed, I touched some variables in /etc/sysctl.conf, according to harryd's blog settings. For now, all seems to work properly. Anyway I think is possible improve it a bit more.

Thanks for your input, @SirDice :)
 
Last edited by a moderator:
Not sure if it's mentioned in any of the blogs you posted but there's also the tuning(7) man page that contains quite a lot of information.
 
Sure, I took a look over it. Probably what I need is some good sysctl.conf(5)() examples used by other experimented users. In such case, I want to contrast it exhaustively.
 
Back
Top