3 ## 6.11 Tuning with sysctl
7 [sysctl(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=sysctl§ion=8) 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).
11 At its core, [sysctl(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=sysctl§ion=8) serves two functions: to read and to modify system settings.
15 To view all readable variables:
27 To read a particular variable, for example, `kern.maxproc`:
41 To set a particular variable, use the intuitive `***variable***`=`***value***` syntax:
47 # sysctl kern.maxfiles=5000
49 kern.maxfiles: 2088 -< 5000
55 Settings of sysctl variables are usually either strings, numbers, or booleans (a boolean being `1` for yes or a `0` for no).
59 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§ion=5) manual page and the [configtuning-configfiles.html#CONFIGTUNING-SYSCTLCONF Section 6.10.4].
63 ### 6.11.1 sysctl(8) Read-only
67 ***Contributed by Tom Rhodes. ***
71 In some cases it may be desirable to modify read-only [sysctl(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=sysctl§ion=8) values. While this is not recommended, it is also sometimes unavoidable.
75 For instance on some laptop models the [cardbus(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=cardbus§ion=4) device will not probe memory ranges, and fail with errors which look similar to:
81 cbb0: Could not map register memory
83 device_probe_and_attach: cbb0 attach returned 12
89 Cases like the one above usually require the modification of some default [sysctl(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=sysctl§ion=8) 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.
93 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?command=cardbus§ion=4) will work properly.
103 CategoryHandbook-configuration