sysctl(8) 是一个允许您改变正在运行中的 FreeBSD 系统的接口。它包含一些 TCP/IP 堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能。用 sysctl(8) 可以读取设置超过五百个系统变量。
基于这点,sysctl(8) 提供两个功能:读取和修改系统设置。
查看所有可读变量:
%
sysctl -a
读一个指定的变量,例如 kern.maxproc
:
%
sysctl kern.maxproc
kern.maxproc: 1044
要设置一个指定的变量,直接用
variable
=value
这样的语法:
#
sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000
sysctl 变量的设置通常是字符串、数字或者布尔型。
(布尔型用 1
来表示'yes',用
0
来表示'no')。
如果你想在每次机器启动时自动设置某些变量,
可将它们加入到文件 /etc/sysctl.conf
之中。更多信息,请参阅手册页 sysctl.conf(5) 及
第 12.10.4 节 “sysctl.conf
”。
有时可能会需要修改某些只读的 sysctl(8) 的值。 尽管有时不得不这样做, 但只有通过(重新)启动才能达到这样的目的。
例如一些膝上型电脑的 cardbus(4) 设备不会探测内存范围,并且产生看似于这样的错误:
cbb0: Could not map register memory device_probe_and_attach: cbb0 attach returned 12
像上面的错误通常需要修改一些只读的 sysctl(8)
默认设置。要实现这点,用户可以在本地的
/boot/loader.conf.local
里面放一个
sysctl(8) “OIDs”。那些设置定位在
/boot/defaults/loader.conf
文件中。
修复上面的问题用户需要在刚才所说的文件中设置
hw.pci.allow_unsupported_io_range=1
。现在
cardbus(4) 就会正常的工作了。
本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读
文档,如不能解决再联系
<[email protected]>.
关于本文档的问题请发信联系
<[email protected]>.