sysctl(8) is an interface that allows you to make changes to a running FreeBSD 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).
At its core, sysctl(8) 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: 1044To set a particular variable, use the intuitive
variable
=value
syntax:
#
sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000Settings 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) manual page and the
節 11.10.4, “sysctl.conf
”.
In some cases it may be desirable to modify read-only sysctl(8) values. While this is sometimes unavoidable, it can only be done on (re)boot.
For instance on some laptop models the cardbus(4) device will not probe memory ranges, and fail with errors which look similar to:
Cases like the one above usually require the modification of some
default sysctl(8) settings which are set read only. To overcome
these situations a user can put sysctl(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) will work properly.
本文及其他文件,可由此下載: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。
若有 FreeBSD 方面疑問,請先閱讀
FreeBSD 相關文件,如不能解決的話,再洽詢
<questions@FreeBSD.org>。
關於本文件的問題,請洽詢
<doc@FreeBSD.org>。