## 6.11 Tuning with sysctl [sysctl(8)](http://leaf.dragonflybsd.org/cgi/web-man?command#sysctl§ion8) is an interface that allows you to make changes to a running DragonFly system. This includes many advanced options of the TCP/IP stack and virtual memory system that can dramatically improve performance for an experienced system administrator. Over five hundred system variables can be read and set using [sysctl(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=sysctl§ion=8). At its core, [sysctl(8)](http://leaf.dragonflybsd.org/cgi/web-man?command#sysctl§ion8) serves two functions: to read and to modify system settings. To view all readable variables: % sysctl -a To read a particular variable, for example, `kern.maxproc`: % sysctl kern.maxproc kern.maxproc: 1044 To set a particular variable, use the intuitive `***variable***`=`***value***` syntax: # sysctl kern.maxfiles=5000 kern.maxfiles: 2088 -< 5000 Settings of sysctl variables are usually either strings, numbers, or booleans (a boolean being `1` for yes or a `0` for no). If you want to set automatically some variables each time the machine boots, add them to the `/etc/sysctl.conf` file. For more information see the [sysctl.conf(5)](http://leaf.dragonflybsd.org/cgi/web-man?command#sysctl.conf§ion5) manual page and the [configtuning-configfiles.html#CONFIGTUNING-SYSCTLCONF Section 6.10.4]. ### 6.11.1 sysctl(8) Read-only ***Contributed by Tom Rhodes. *** In some cases it may be desirable to modify read-only [sysctl(8)](http://leaf.dragonflybsd.org/cgi/web-man?command#sysctl§ion8) values. While this is not recommended, it is also sometimes unavoidable. For instance on some laptop models the [cardbus(4)](http://leaf.dragonflybsd.org/cgi/web-man?command#cardbus§ion4) device will not probe memory ranges, and fail with errors which look similar to: cbb0: Could not map register memory device_probe_and_attach: cbb0 attach returned 12 Cases like the one above usually require the modification of some default [sysctl(8)](http://leaf.dragonflybsd.org/cgi/web-man?command#sysctl§ion8) settings which are set read only. To overcome these situations a user can put [sysctl(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=sysctl§ion=8) ***OIDs*** in their local `/boot/loader.conf`. Default settings are located in the `/boot/defaults/loader.conf` file. Fixing the problem mentioned above would require a user to set `hw.pci.allow_unsupported_io_range#1` in the aforementioned file. Now [cardbus(4)](http://leaf.dragonflybsd.org/cgi/web-man?commandcardbus§ion=4) will work properly. CategoryHandbook CategoryHandbook-configuration