中国最完整的sysctl.conf优化方案
2009-09-26 15:52:17 Administrator

网上关于sysctl.conf的优化方案有各种版本,大多都是抄来抄去的,让新人看了很迷茫。为解决此问题,经过两天的整理,查了许多资料,将大 家常用的总结如下,很多默认的不需要修改的暂未涉及,今后将逐步把所有的项目都有个翻译、讲解、修改建议,如有修改,将以此文为准,其他地方的内容,本人不负责更新。


sysctl配置与显示在/proc/sys目录中的内核参数,可以用sysctl来设置或重新设置联网功能,如IP转发、IP碎片去除以及源路由检查等。用户只需要编辑/etc/sysctl.conf文件,即可手工或自动执行由sysctl控制的功能。命令格式:
sysctl [-n] [-e] -w variable=value
sysctl [-n] [-e] -p (default /etc/sysctl.conf)
sysctl [-n] [-e] -a

常用参数的意义:
-w:临时改变某个指定参数的值,如:
# sysctl -w net.ipv4.ip_forward=1

-a:显示所有的系统参数

-p:从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载

如果仅仅是想临时改变某个系统参数的值,可以用两种方法来实现,例如想启用IP路由转发功能:
1) #echo 1 > /proc/sys/net/ipv4/ip_forward
2) #sysctl -w net.ipv4.ip_forward=1

以上两种方法都可能立即开启路由功能,但如果系统重启,或重启了网络则会导致所有设置的值即会丢失,如果想永久保留配置,需要修改/etc/sysctl.conf文件,加入相关的配置项及值。


###################
所有rfc相关的选项都是默认启用的,因此网上的那些还自己写rfc支持的都可以扔掉了。
###############################

net.inet.ip.sourceroute=0
net.inet.ip.accept_sourceroute=0
#############################
通过源路由,攻击者可以尝试到达内部IP地址 --包括RFC1918中的地址,所以不接受源路由信息包可以防止你的内部网络被探测。
#################################

net.inet.tcp.drop_synfin=1
###################################
安全参数,编译内核的时候加了options TCP_DROP_SYNFIN才可以用,可以阻止某些OS探测。
##################################

kern.maxvnodes=8446
##########################
vnode 是对文件或目录的一种内部表达。 因此, 增加可以被操作系统利用的 vnode 数量将降低磁盘的 I/O。
一般而言, 这是由操作系统自行完成的,也不需要加以修改。但在某些时候磁盘 I/O 会成为瓶颈,而系统的 vnode 不足, 则这一配置应被增加。此时需要考虑是非活跃和空闲内存的数量。
要查看当前在用的 vnode 数量:
# sysctl vfs.numvnodes
vfs.numvnodes: 91349
要查看最大可用的 vnode 数量:
# sysctl kern.maxvnodes
kern.maxvnodes: 100000
如果当前的 vnode 用量接近最大值,则将 kern.maxvnodes 值增大 1,000 可能是个好主意。
您应继续查看 vfs.numvnodes 的数值, 如果它再次攀升到接近最大值的程度,仍需继续提高 kern.maxvnodes。在 top(1) 中显示的内存用量应有显著变化,更多内存会处于活跃 (active) 状态。
####################################

kern.maxproc: 964
##########################
Maximum number of processes
####################################
kern.maxprocperuid: 867
##########################
Maximum processes allowed per userid
####################################
因为我的maxusers设置的是256,20+16*maxusers=4116。
maxprocperuid至少要比maxproc少1,因为init(8) 这个系统程序绝对要保持在运作状态。
我给它设置的2068。

kern.maxfiles: 1928
##########################
系统中支持最多同时开启的文件数量,如果你在运行数据库或大的很吃描述符的进程,那么应该设置在20000以上,比如kde这样的桌面环境,它同时要用的文件非常多。
一般推荐设置为32768或者65536。
####################################

kern.argmax: 262144
##########################
maximum number of bytes (or characters) in an argument list.
命令行下最多支持的参数,比如你在用find命令来批量删除一些文件的时候
find . -name "*.old" -delete,如果文件数超过了这个数字,那么会提示你数字太多的。
可以利用find . -name "*.old" -ok rm {} \;来删除。
默认的参数已经足够多了,因此不建议再做修改。
####################################

kern.securelevel: -1
##########################
-1:这是系统默认级别,没有提供任何内核的保护错误;
0:基本上作用不多,当你的系统刚启动就是0级别的,当进入多用户模式的时候就自动变成1级了。
1:在这个级别上,有如下几个限制:
a. 不能通过kldload或者kldunload加载或者卸载可加载内核模块;
b. 应用程序不能通过/dev/mem或者/dev/kmem直接写内存;
c. 不能直接往已经装在(mounted)的磁盘写东西,也就是不能格式化磁盘,但是可以通过标准的内核接口执行写操作;
d. 不能启动X-windows,同时不能使用chflags来修改文件属性;
2:在 1 级别的基础上还不能写没装载的磁盘,而且不能在1秒之内制造多次警告,这个是防止DoS控制台的;
3:在 2 级别的级别上不允许修改IPFW防火墙的规则。
如果你已经装了防火墙,并且把规则设好了,不轻易改动,那么建议使用3级别,如果你没有装防火墙,而且还准备装防火墙的话,不建议使用。
我们这里推荐使用 2 级别,能够避免比较多对内核攻击。
####################################

kern.maxfilesperproc: 1735
##########################
每个进程能够同时打开的最大文件数量,网上很多资料写的是32768
除非用异步I/O或大量线程,打开这么多的文件恐怕是不太正常的。个人建议不做修改,保留默认。
####################################

kern.ipc.maxsockbuf: 262144
##########################
最大的套接字缓冲区,网上有建议设置为2097152(2M)、8388608(8M)的。
我个人倒是建议不做修改,保持默认的256K即可,缓冲区大了可能造成碎片、阻塞或者丢包。
####################################

kern.ipc.somaxconn: 128
##########################
最大的等待连接完成的套接字队列大小,即并发连接数。
高负载服务器和受到Dos攻击的系统也许会因为这个队列被塞满而不能提供正常服务。
默认为128,推荐在1024-4096之间,根据机器和实际情况需要改动,数字越大占用内存也越大。
####################################

kern.ipc.nmbclusters: 4800
##########################
这个值用来调整系统在开机后所要分配给网络 mbufs 的 cluster 数量,由于每个 cluster 大小为 2K,所以当这个值为 1024 时,也是会用到 2MB 的核心内存空间。
假设我们的网页同时约有 1000 个联机,而 TCP 传送及接收的暂存区大小都是 16K,
则最糟的情况下,我们会需要 (16K+16K) * 1024,也就是 32MB 的空间,然而所需的 mbufs 大概是这个空间的二倍,也就是 64MB,所以所需的 cluster 数量为 64MB/2K,也就是 32768。
对于内存有限的机器,建议值是 1024 到 4096 之间,而当拥有海量存储器空间时,我们可以将它设定为 4096 到 32768 之间。
我们可以使用 netstat 这个指令并加上参数 -m 来查看目前所使用的 mbufs 数量。要修改这个值必须在一开机就修改,所以只能在 /boot/loader.conf 中加入修改的设定
kern.ipc.nmbclusters=32768
####################################

kern.ipc.shmmax: 33554432
##########################
共享内存和信号灯("System VIPC")如果这些过小的话,有些大型的软件将无法启动
安装xine和mplayer提示的设置为67108864,即64M,如果内存多的话,可以设置为134217728,即128M
####################################

kern.ipc.shmall: 8192
##########################
共享内存和信号灯("System VIPC")如果这些过小的话,有些大型的软件将无法启动
安装xine和mplayer提示的设置为32768
####################################

kern.ipc.shm_use_phys: 0
##########################
如果我们将它设成 1,则所有 System V 共享内存 (share memory,一种程序间沟通的方式)部份都会被留在实体的内存 (physical memory) 中,
而不会被放到硬盘上的 swap 空间。我们知道物理内存的存取速度比硬盘快许多,而当物理内存空间不足时,部份数据会被放到虚拟的内存上,从物理内存和虚拟内存之间移转的动作就叫作 swap。如果时常做 swap 的动作,
则需要一直对硬盘作 I/O,速度会很慢。因此,如果我们有大量的程序 (数百个) 需要共同分享一个小的共享内存空间,或者是共享内存空间很大时,我们可以将这个值打开。
这一项,我个人建议不做修改,除非你的内存非常大。
####################################

kern.ipc.shm_allow_removed: 0
##########################
共享内存是否允许移除?这项似乎是在fb下装vmware需要设置为1的,否则会有加载SVGA出错的提示
作为服务器,这项不动也罢。
####################################

kern.ipc.numopensockets: 12
##########################
已经开启的socket数目,可以在最繁忙的时候看看它是多少,然后就可以知道maxsockets应该设置成多少了。
####################################

kern.ipc.maxsockets: 1928
##########################
这是用来设定系统最大可以开启的 socket 数目。如果您的服务器会提供大量的 FTP 服务,而且常快速的传输一些小档案,您也许会发现常传输到一半就中断。因为 FTP 在传输档案时,
每一个档案都必须开启一个 socket 来传输,但关闭 socket 需要一段时间,如果传输速度很快,而档案又多,则同一时间所开启的 socket 会超过原本系统所许可的值,这时我们就必须把这个值调大一点。
除了 FTP 外,也许有其它网络程序也会有这种问题。然而,这个值必须在系统一开机就设定好,所以如果要修改这项设定,我们必须修改 /boot/loader.conf 才行
kern.ipc.maxsockets="16424"
####################################

kern.ipc.nsfbufs: 1456
##########################
经常使用 sendfile(2) 系统调用的繁忙的服务器,
有必要通过 NSFBUFS 内核选项或者在 /boot/loader.conf (查看 loader(8) 以获得更多细节) 中设置它的值来调节 sendfile(2) 缓存数量。
这个参数需要调节的普通原因是在进程中看到 sfbufa 状态。sysctl kern.ipc.nsfbufs 变量在内核配置变量中是只读的。
这个参数是由 kern.maxusers 决定的,然而它可能有必要因此而调整。
在/boot/loader.conf里加入
kern.ipc.nsfbufs="2496"
####################################

kern.maxusers: 59
##########################
maxusers 的值决定了处理程序所容许的最大值,20+16*maxusers 就是你将得到的所容许处理程序。
系统一开机就必须要有 18 个处理程序 (process),即便是简单的执行指令 man 又会产生 9 个 process,所以将这个值设为 64 应该是一个合理的数目。
如果你的系统会出现 proc table full 的讯息的话,可以就把它设大一点,例如 128。
除非您的系统会需要同时开启很多档案,否则请不要设定超过 256。

可以在 /boot/loader.conf 中加入该选项的设定,
kern.maxusers=256
####################################

kern.coredump: 1
##########################
如果设置为0,则程序异常退出时不会生成core文件,作为服务器,不建议这样。
####################################

kern.corefile: %N.core
##########################
可设置为kern.corefile="/data/coredump/%U-%P-%N.core"
其中 %U是UID,%P是进程ID,%N是进程名,当然/data/coredump必须是一个实际存在的目录
####################################

vm.swap_idle_enabled: 0
vm.swap_idle_threshold1: 2
vm.swap_idle_threshold2: 10
#########################
在有很多用户进入、离开系统和有很多空闲进程的大的多用户系统中很有用。
可以让进程更快地进入内存,但它会吃掉更多的交换和磁盘带宽。
系统默认的页面调度算法已经很好了,最好不要更改。
########################

vfs.ufs.dirhash_maxmem: 2097152
#########################
默认的dirhash最大内存,默认2M
增加它有助于改善单目录超过100K个文件时的反复读目录时的性能
建议修改为33554432(32M)
#############################

vfs.vmiodirenable: 1
#################
这个变量控制目录是否被系统缓存。大多数目录是小的,在系统中只使用单个片断(典型的是1K)并且在缓存中使用的更小 (典型的是512字节)。
当这个变量设置为关闭 (0) 时,缓存器仅仅缓存固定数量的目录,即使您有很大的内存。
而将其开启 (设置为1) 时,则允许缓存器用 VM 页面缓存来缓存这些目录,让所有可用内存来缓存目录。
不利的是最小的用来缓存目录的核心内存是大于 512 字节的物理页面大小(通常是 4k)。
我们建议如果您在运行任何操作大量文件的程序时保持这个选项打开的默认值。
这些服务包括 web 缓存,大容量邮件系统和新闻系统。尽管可能会浪费一些内存,但打开这个选项通常不会降低性能。但还是应该检验一下。
####################

vfs.hirunningspace: 1048576
############################
这个值决定了系统可以将多少数据放在写入储存设备的等候区。通常使用默认值即可,但当我们有多颗硬盘时,我们可以将它调大为 4MB 或 5MB。
注意这个设置成很高的值(超过缓存器的写极限)会导致坏的性能。不要盲目的把它设置太高!高的数值会导致同时发生的读操作的迟延。
#############################

vfs.write_behind: 1
#########################
这个选项预设为 1,也就是打开的状态。在打开时,在系统需要写入数据在硬盘或其它储存设备上时,它会等到收集了一个 cluster 单位的数据后再一次写入,否则会在一个暂存区空间有写入需求时就立即写到硬盘上。
这个选项打开时,对于一个大的连续的文件写入速度非常有帮助。但如果您遇到有很多行程延滞在等待写入动作时,您可能必须关闭这个功能。
############################

net.local.stream.sendspace: 8192
##################################
本地套接字连接的数据发送空间
建议设置为65536
###################################
net.local.stream.recvspace: 8192
##################################
本地套接字连接的数据接收空间
建议设置为65536
###################################

net.inet.ip.portrange.lowfirst: 1023
net.inet.ip.portrange.lowlast: 600
net.inet.ip.portrange.first: 49152
net.inet.ip.portrange.last: 65535
net.inet.ip.portrange.hifirst: 49152
net.inet.ip.portrange.hilast: 65535
###################
以上六项是用来控制TCP及UDP所使用的port范围,这个范围被分成三个部份,低范围、预设范围、及高范围。
这些是你的服务器主动发起连接时的临时端口的范围,预设的已经1万多了,一般的应用就足够了。
如果是比较忙碌的FTP server,一般也不会同时提供给1万多人访问的,当然如果很不幸,服务器就要提供很多,那么可以修改first的值,比如直接用1024开始
#########################

net.inet.ip.redirect: 1
#########################
设置为0,屏蔽ip重定向功能
###########################

net.inet.ip.rtexpire: 3600
net.inet.ip.rtminexpire: 10
########################
很多apache产生的CLOSE_WAIT状态,这种状态是等待客户端关闭,但是客户端那边并没有正常的关闭,于是留下很多这样的东东。
建议都修改为2
#########################

net.inet.ip.intr_queue_maxlen: 50
########################
Maximum size of the IP input queue,如果下面的net.inet.ip.intr_queue_drops一直在增加,那就说明你的队列空间不足了,那么可以考虑增加该值。
##########################
net.inet.ip.intr_queue_drops: 0
####################
Number of packets dropped from the IP input queue,如果你sysctl它一直在增加,那么增加net.inet.ip.intr_queue_maxlen的值。
#######################

net.inet.ip.fastforwarding: 0
#############################
如果打开的话每个目标地址一次转发成功以后它的数据都将被记录进路由表和arp数据表,节约路由的计算时间
但会需要大量的内核内存空间来保存路由表。如果内存够大,打开吧
#############################

net.inet.ip.random_id: 0
#####################
默认情况下,ip包的id号是连续的,而这些可能会被攻击者利用,比如可以知道你nat后面带了多少主机。
如果设置成1,则这个id号是随机的。
#####################

net.inet.icmp.maskrepl: 0
############################
防止广播风暴,关闭其他广播探测的响应。默认即是,无须修改。
###############################

net.inet.icmp.icmplim: 200
##############################
限制系统发送ICMP速率,改为100吧,或者保留也可,并不会给系统带来太大的压力。
###########################
net.inet.icmp.icmplim_output: 1
###################################
如果设置成0,就不会看到提示说Limiting icmp unreach response from 214 to 200 packets per second 等等了
不过禁止输出容易让我们忽视攻击的存在。这个自己看着办吧。
######################################

net.inet.icmp.drop_redirect: 0
net.inet.icmp.log_redirect: 0
###################################
设置为1,屏蔽ICMP重定向功能
###################################
net.inet.icmp.bmcastecho: 0
############################
防止广播风暴,关闭广播ECHO响应,默认即是,无须修改。
###############################

net.inet.tcp.mssdflt: 512
net.inet.tcp.minmss: 216
###############################
数据包数据段最小值,以上两个选项最好不动!或者只修改mssdflt为1460,minmss不动。

#############################

net.inet.tcp.keepidle: 7200000
######################
TCP的套接字的空闲时间,默认时间太长,可以改为600000(10分钟)。
##########################

net.inet.tcp.sendspace: 32768
##########################
最大的待发送TCP数据缓冲区空间,应用程序将数据放到这里就认为发送成功了,系统TCP堆栈保证数据的正常发送。
####################################
net.inet.tcp.recvspace: 65536
###################################
最大的接受TCP缓冲区空间,系统从这里将数据分发给不同的套接字,增大该空间可提高系统瞬间接受数据的能力以提高性能。
###################################
这二个选项分别控制了网络 TCP 联机所使用的传送及接收暂存区的大小。预设的传送暂存区为 32K,而接收暂存区为 64K。
如果需要加速 TCP 的传输,可以将这二个值调大一点,但缺点是太大的值会造成系统核心占用太多的内存。
如果我们的机器会同时服务数百或数千个网络联机,那么这二个选项最好维持默认值,否则会造成系统核心内存不足。
但如果我们使用的是 gigabite 的网络,将这二个值调大会有明显效能的提升。
传送及接收的暂存区大小可以分开调整,例如,假设我们的系统主要做为网页服务器,我们可以将接收的暂存区调小一点,并将传送的暂存区调大,如此一来,我们就可以避免占去太多的核心内存空间。

net.inet.udp.maxdgram: 9216
#########################
最大的发送UDP数据缓冲区大小,网上的资料大多都是65536,我个人认为没多大必要,如果要调整,可以试试24576。
##############################
net.inet.udp.recvspace: 42080
##################
最大的接受UDP缓冲区大小,网上的资料大多都是65536,我个人认为没多大必要,如果要调整,可以试试49152。
#######################
以上四项配置通常不会导致问题,一般说来网络流量是不对称的,因此应该根据实际情况调整,并观察其效果。如果我们将传送或接收的暂存区设为大于 65535,除非服务器本身及客户端所使用的操作系统都支持 TCP 协议的 windows scaling extension (请参考 RFC 1323 文件)。
FreeBSD默认已支持 rfs1323 (即 sysctl 的 net.inet.tcp.rfc1323 选项)。
###################################################

net.inet.tcp.log_in_vain: 0
##################
记录下任何TCP连接,这个一般情况下不应该更改。
####################

net.inet.tcp.blackhole: 0
##################################
建议设置为2,接收到一个已经关闭的端口发来的所有包,直接drop,如果设置为1则是只针对TCP包
#####################################

net.inet.tcp.delayed_ack: 1
###########################
当一台计算机发起TCP连接请求时,系统会回应ACK应答数据包。
该选项设置是否延迟ACK应答数据包,把它和包含数据的数据包一起发送。
在高速网络和低负载的情况下会略微提高性能,但在网络连接较差的时候,对方计算机得不到应答会持续发起连接请求,反而会让网络更加拥堵,降低性能。
因此这个值我建议您看情况而定,如果您的网速不是问题,可以将封包数量减少一半;如果网络不是特别好,那么就设置为0,有请求就先回应,这样其实浪费的网通、电信的带宽速率而不是你的处理时间:)
############################

net.inet.tcp.inflight.enable: 1
net.inet.tcp.inflight.debug: 0
net.inet.tcp.inflight.rttthresh: 10
net.inet.tcp.inflight.min: 6144
net.inet.tcp.inflight.max: 1073725440
net.inet.tcp.inflight.stab: 20
###########################
限制 TCP 带宽延迟积和 NetBSD 的 TCP/Vegas 类似。
它可以通过将 sysctl 变量 net.inet.tcp.inflight.enable 设置成 1 来启用。
系统将尝试计算每一个连接的带宽延迟积,并将排队的数据量限制在恰好能保持最优吞吐量的水平上。
这一特性在您的服务器同时向使用普通调制解调器,千兆以太网,乃至更高速度的光与网络连接 (或其他带宽延迟积很大的连接) 的时候尤为重要,特别是当您同时使用滑动窗缩放,或使用了大的发送窗口的时候。
如果启用了这个选项,您还应该把 net.inet.tcp.inflight.debug 设置为 0 (禁用调试),
对于生产环境而言, 将 net.inet.tcp.inflight.min 设置成至少 6144 会很有好处。
然而, 需要注意的是,这个值设置过大事实上相当于禁用了连接带宽延迟积限制功能。
这个限制特性减少了在路由和交换包队列的堵塞数据数量,也减少了在本地主机接口队列阻塞的数据的数量。
在少数的等候队列中、交互式连接,尤其是通过慢速的调制解调器,也能用低的 往返时间操作。
但是,注意这只影响到数据发送 (上载/服务端)。对数据接收(下载)没有效果。
调整 net.inet.tcp.inflight.stab 是 不 推荐的。
这个参数的默认值是 20,表示把 2 个最大包加入到带宽延迟积窗口的计算中。
额外的窗口似的算法更为稳定,并改善对于多变网络环境的相应能力, 但也会导致慢速连接下的 ping 时间增长 (尽管还是会比没有使用 inflight 算法低许多)。
对于这些情形,可能会希望把这个参数减少到 15,10,或 5;并可能因此而不得不减少 net.inet.tcp.inflight.min (比如说, 3500) 来得到希望的效果。
减少这些参数的值, 只应作为最后不得已时的手段来使用。
############################

net.inet.tcp.syncookies: 1
#########################
SYN cookies是一种用于通过选择加密的初始化TCP序列号,可以对回应的包做验证来降低SYN'洪水'攻击的影响的技术。
默认即是,不需修改
########################

net.inet.tcp.msl: 30000
#######################
这个值网上很多文章都推荐的7500,
还可以改的更小一些(如2000或2500),这样可以加快不正常连接的释放过程(三次握手2秒、FIN_WAIT4秒)。
#########################
net.inet.tcp.always_keepalive: 1
###########################
帮助系统清除没有正常断开的TCP连接,这增加了一些网络带宽的使用,但是一些死掉的连接最终能被识别并清除。
死的TCP连接是被拨号用户存取的系统的一个特别的问题,因为用户经常断开modem而不正确的关闭活动的连接。
#############################

net.inet.udp.checksum: 1
#########################
防止不正确的udp包的攻击,默认即是,不需修改
##############################

net.inet.udp.log_in_vain: 0
#######################
记录下任何UDP连接,这个一般情况下不应该修改。
#######################

net.inet.udp.blackhole: 0
####################
建议设置为1,接收到一个已经关闭的端口发来的所有UDP包直接drop
#######################

net.inet.raw.maxdgram: 8192
#########################
Maximum outgoing raw IP datagram size
很多文章建议设置为65536,好像没多大必要。
######################################
net.inet.raw.recvspace: 8192
######################
Maximum incoming raw IP datagram size
很多文章建议设置为65536,好像没多大必要。
#######################

net.link.ether.inet.max_age: 1200
####################
调整ARP清理的时间,通过向IP路由缓冲填充伪造的ARP条目可以让恶意用户产生资源耗竭和性能减低攻击。
这项似乎大家都未做改动,我建议不动或者稍微减少,比如300(HP-UX默认的5分钟)
#######################

net.inet6.ip6.redirect: 1
###############################
设置为0,屏蔽ipv6重定向功能
###########################

net.isr.direct: 0
##########################
所有MPSAFE的网络ISR对包做立即响应,提高网卡性能,设置为1。
####################################

hw.ata.wc: 1
#####################
这个选项用来打开 IDE 硬盘快取。当打开时,如果有数据要写入硬盘时,硬盘会假装已完成写入,并将数据快取起来。
这种作法会加速硬盘的存取速度,但当系统异常关机时,比较容易造成数据遗失。
不过由于关闭这个功能所带来的速度差异实在太大,建议还是保留原本打开的状态吧,不做修改。
###################

security.bsd.see_other_uids: 1
security.bsd.see_other_gids: 1
#####################
不允许用户看到其他用户的进程,因此应该改成0
#######################

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

以下是FreeBSD操作系统相关的内核参数,内核编译也没加入这一项,以下是我调整后的参数。
kern.ostype: FreeBSD
kern.osrelease: 6.2-RELEASE-p9
kern.osrevision: 199506
kern.version: FreeBSD 6.2-RELEASE-p9 #0: Tue Dec 18 13:20:22 CST 2007

kern.maxvnodes: 100000
kern.maxproc: 6164
kern.maxfiles: 12328
kern.argmax: 262144
kern.securelevel: 2
kern.hostname: laxjyj.com
kern.hostid: 0
kern.clockrate: { hz = 1000, tick = 1000, profhz = 666, stathz = 133 }
kern.posix1version: 200112
kern.ngroups: 16
kern.job_control: 1
kern.saved_ids: 0
kern.boottime: { sec = 1198112933, usec = 442254 } Thu Dec 20 09:08:53 2007
kern.domainname:
kern.osreldate: 602000
kern.bootfile: /boot/kernel/kernel
kern.maxfilesperproc: 11095
kern.maxprocperuid: 5547
kern.ipc.maxsockbuf: 262144
kern.ipc.sockbuf_waste_factor: 8
kern.ipc.somaxconn: 128
kern.ipc.max_linkhdr: 16
kern.ipc.max_protohdr: 40
kern.ipc.max_hdr: 56
kern.ipc.max_datalen: 120
kern.ipc.nmbjumbo16: 0
kern.ipc.nmbjumbo9: 0
kern.ipc.nmbjumbop: 0
kern.ipc.nmbclusters: 16384
kern.ipc.piperesizeallowed: 1
kern.ipc.piperesizefail: 0
kern.ipc.pipeallocfail: 0
kern.ipc.pipefragretry: 0
kern.ipc.pipekva: 98304
kern.ipc.pipes: 12
kern.ipc.maxpipekva: 20971520
kern.ipc.msgseg: 2048
kern.ipc.msgssz: 8
kern.ipc.msgtql: 40
kern.ipc.msgmnb: 2048
kern.ipc.msgmni: 40
kern.ipc.msgmax: 16384
kern.ipc.semaem: 16384
kern.ipc.semvmx: 32767
kern.ipc.semusz: 104
kern.ipc.semume: 10
kern.ipc.semopm: 100
kern.ipc.semmsl: 60
kern.ipc.semmnu: 30
kern.ipc.semmns: 60
kern.ipc.semmni: 10
kern.ipc.semmap: 30
kern.ipc.shm_allow_removed: 0
kern.ipc.shm_use_phys: 0
kern.ipc.shmall: 8192
kern.ipc.shmseg: 128
kern.ipc.shmmni: 192
kern.ipc.shmmin: 1
kern.ipc.shmmax: 33554432
kern.ipc.numopensockets: 139
kern.ipc.maxsockets: 12328
kern.ipc.nsfbufsused: 0
kern.ipc.nsfbufspeak: 0
kern.ipc.nsfbufs: 0
kern.dummy: 0
kern.ps_strings: 140737488355296
kern.usrstack: 140737488355328
kern.logsigexit: 1
kern.iov_max: 1024
kern.cam.cam_srch_hi: 0
kern.cam.scsi_delay: 3000
kern.cam.da.default_timeout: 60
kern.cam.da.retry_count: 4
kern.cam.da.0.minimum_cmd_size: 6
kern.cam.da.1.minimum_cmd_size: 6
kern.disks: da1 da0
kern.geom.collectstats: 1
kern.geom.debugflags: 0
kern.elf64.fallback_brand: -1
kern.init_shutdown_timeout: 120
kern.init_path: /sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/sysinstall
kern.acct_suspended: 0
kern.acct_chkfreq: 15
kern.acct_resume: 4
kern.acct_suspend: 2
kern.cp_time: 195626 0 33970 4403 485848
kern.openfiles: 386
kern.kq_calloutmax: 4096
kern.ps_arg_cache_limit: 256
kern.stackprot: 7
kern.randompid: 0
kern.lastpid: 730
kern.module_path: /boot/kernel;/boot/modules
kern.malloc_count: 137
kern.malloc:
Type InUse MemUse HighUse Requests Size(s)
linux 11 1K - 11 64
zombie 0 0K - 668 256
proc-args 25 3K - 417 16,32,64,128,256
atkbddev 1 1K - 1 64
kqueue 10 13K - 42 512,2048
kenv 73 11K - 74 16,32,64,128
nexusdev 2 1K - 2 16
file desc 72 47K - 777 16,32,64,512,1024,2048,4096
I/O APIC 2 4K - 2 2048
sigio 1 1K - 2 64
CAM XPT 164 143K - 327 16,32,128,512,1024
memdesc 1 4K - 1 4096
cdev 17 5K - 17 256
CAM periph 3 1K - 38 256
VM pgdata 3 129K - 3 128
acpitask 0 0K - 1 64
PCI Link 16 2K - 16 16,32,128
acpica 2161 227K - 20281 16,32,64,128,256,512,1024
UMAHash 2 8K - 8 512,1024,2048,4096
UFS mount 21 62K - 21 512,2048,4096
UFS dirhash 636 134K - 636 16,32,64,128,256,512,1024,2048
pagedep 3 129K - 131 128
inodedep 6 514K - 1226 256
newblk 1 1K - 408608 64,512
bmsafemap 3 1K - 380 128
allocdirect 4 1K - 18027 256
indirdep 1 1K - 598 64
allocindir 0 0K - 390580 128
freefrag 0 0K - 27898 64
freeblks 1 1K - 730 256
freefile 1 1K - 901 64
diradd 1 1K - 955 64
mkdir 0 0K - 12 64
dirrem 0 0K - 936 64
savedino 0 0K - 85 256
p1003.1b 1 1K - 1 16
xform 0 0K - 15 16,32
crypto 3 1K - 3 128,512
syncache 1 12K - 1
isadev 9 2K - 9 128
hostcache 1 48K - 1
in_multi 3 1K - 3 64
routetbl 11 2K - 39 32,64,128,256,512
GEOM 117 21K - 645 16,32,64,128,256,512,1024,4096
acpidev 56 4K - 56 64
lo 1 1K - 1 32
arpcom 2 1K - 2 32
clone 1 4K - 1 4096
ifnet 4 7K - 4 512,2048
ifaddr 23 8K - 23 32,512,4096
ether_multi 12 1K - 14 16,64
BPF 3 1K - 3 128
pfs_nodes 56 7K - 56 128
mount 134 7K - 260 16,32,64,128,256,2048
vnodemarker 0 0K - 1340 512
vnodes 1 1K - 1 256
VFS hash 1 512K - 1
cluster_save buffer 0 0K - 7344 64,128
vfscache 1 1024K - 1
BIO buffer 227 454K - 1628 2048
DEVFS 10 1K - 11 16,256
soname 5 1K - 181077 16,32,128
pcb 10 9K - 29 16,32,64,128,4096
mbuf_tag 0 0K - 2 32
mbextcnt 782 13K - 339028 16
accf 2 1K - 3 32,64
ptys 1 1K - 1 256
ttys 399 66K - 1053 128,1024
shm 7 28K - 19 2048
sem 4 8K - 4 1024,2048,4096
msg 4 30K - 4 2048,4096
ioctlops 0 0K - 597 16,32,64,256,512,1024,4096
iov 0 0K - 267236 16,64,128,256
Unitno 9 1K - 1099259 32,64
turnstiles 319 40K - 319 128
taskqueue 9 2K - 9 16,32,256
sleep queues 319 20K - 319 64
sbuf 0 0K - 372 16,32,64,128,256,512,1024,2048,4096
DEVFS3 77 20K - 78 256
rman 132 17K - 514 16,128
DEVFS1 67 34K - 67 512
entropy 1024 64K - 1024 64
kobj 75 300K - 80 4096
CAM SIM 3 1K - 3 128
eventhandler 42 5K - 42 64,256
devstat 12 25K - 12 32,4096
bus 478 44K - 2410 16,32,64,128,256,1024
bus-sc 39 67K - 900 16,32,64,128,256,512,1024,2048
CAM queue 11 4K - 334 16,32,64,1024,2048
SWAP 4 1097K - 4 64
umtx 318 40K - 318 128
sysctl 0 0K - 13103 16,32,64
sysctloid 1804 88K - 1829 16,32,64,128
sysctltmp 0 0K - 157 16,32,64,128
plimit 6 2K - 225 256
uidinfo 5 3K - 24 64,2048
cred 26 7K - 312429 256
CAM dev queue 2 1K - 2 128
pgrp 15 2K - 32 128
session 12 3K - 25 256
proc 2 16K - 2
subproc 148 295K - 816 512,4096
mtx_pool 1 12K - 1
module 133 17K - 133 128
acpisem 21 3K - 21 128
devbuf 82 493K - 82 16,32,64,128,256,512,1024,4096
temp 10 29K - 1538 16,32,64,128,256,512,1024,2048,4096
lockf 2 1K - 52118 128
linker 33 4K - 47 16,32,64,128,512
ithread 75 16K - 75 32,128,256
kbdmux 5 9K - 5 256,512,2048,4096

kern.fallback_elf_brand: -1
kern.maxusers: 384
kern.ident: FengDong
kern.kstack_pages: 4
kern.shutdown.kproc_shutdown_wait: 60
kern.shutdown.poweroff_delay: 5000
kern.sync_on_panic: 0
kern.corefile: %N.core
kern.nodump_coredump: 0
kern.coredump: 1
kern.sugid_coredump: 0
kern.fscale: 2048
kern.timecounter.tick: 1
kern.timecounter.choice: TSC(-100) ACPI-fast(1000) i8254(0) dummy(-1000000)
kern.timecounter.hardware: ACPI-fast
kern.timecounter.nsetclock: 2
kern.timecounter.ngetmicrotime: 1235668
kern.timecounter.ngetnanotime: 0
kern.timecounter.ngetbintime: 0
kern.timecounter.ngetmicrouptime: 1196080
kern.timecounter.ngetnanouptime: 5534
kern.timecounter.ngetbinuptime: 12062
kern.timecounter.nmicrotime: 1922494
kern.timecounter.nnanotime: 17076369
kern.timecounter.nbintime: 18997729
kern.timecounter.nmicrouptime: 757
kern.timecounter.nnanouptime: 0
kern.timecounter.nbinuptime: 28338301
kern.timecounter.stepwarnings: 0
kern.timecounter.smp_tsc: 0
kern.threads.thr_concurrency: 0
kern.threads.thr_scope: 0
kern.threads.virtual_cpu: 2
kern.threads.max_threads_hits: 0
kern.threads.max_groups_per_proc: 1500
kern.threads.max_threads_per_proc: 1500
kern.threads.debug: 0
kern.sched.preemption: 1
kern.sched.slice_max: 142
kern.sched.slice_min: 10
kern.sched.name: ule
kern.ccpu: 1948
kern.devstat.version: 6
kern.devstat.generation: 170
kern.devstat.numdevs: 2
kern.kobj_methodcount: 74
kern.log_wakeups_per_second: 5
kern.msgbuf_clear: 0
kern.msgbuf:
kern.always_console_output: 0
kern.log_console_output: 1
kern.smp.forward_roundrobin_enabled: 1
kern.smp.forward_signal_enabled: 1
kern.smp.cpus: 2
kern.smp.disabled: 0
kern.smp.active: 1
kern.smp.maxcpus: 16
kern.nselcoll: 0
kern.tty_nout: 466415
kern.tty_nin: 33
kern.drainwait: 300
kern.constty_wakeups_per_second: 5
kern.consmsgbuf_size: 8192
kern.consmute: 0
kern.console: consolectl,/consolectl,
kern.minvnodes: 25000
kern.metadelay: 28
kern.dirdelay: 29
kern.filedelay: 30
kern.chroot_allow_open_directories: 1
kern.cryptodevallowsoft: 0
kern.userasymcrypto: 1
kern.elf32.fallback_brand: -1
kern.random.yarrow.gengateinterval: 10
kern.random.yarrow.bins: 10
kern.random.yarrow.fastthresh: 192
kern.random.yarrow.slowthresh: 256
kern.random.yarrow.slowoverthresh: 2
kern.random.sys.seeded: 1
kern.random.sys.harvest.ethernet: 1
kern.random.sys.harvest.point_to_point: 1
kern.random.sys.harvest.interrupt: 1
kern.random.sys.harvest.swi: 0
vm.vmtotal:
System wide totals computed every five seconds: (values in kilobytes)
===============================================
Processes: (RUNQ: 3 Disk Wait: 9 Page Wait: 0 Sleep: 111)
Virtual Memory: (Total: 49383K, Active 1199992K)
Real Memory: (Total: 1018508K Active 464796K)
Shared Virtual Memory: (Total: 28320K Active: 25664K)
Shared Real Memory: (Total: 20680K Active: 19712K)
Free Memory Pages: 981380K

vm.loadavg: { 1.22 1.06 1.09 }
vm.v_free_min: 3501
vm.v_free_target: 14970
vm.v_free_reserved: 966
vm.v_inactive_target: 22455
vm.v_cache_min: 14970
vm.v_cache_max: 29940
vm.v_pageout_free_min: 34
vm.pageout_algorithm: 0
vm.swap_enabled: 1
vm.kmem_size_scale: 3
vm.kmem_size_max: 419430400
vm.kmem_size: 419430400
vm.nswapdev: 2
vm.dmmax: 32
vm.swap_async_max: 4
vm.zone_count: 67
vm.zone:
ITEM SIZE LIMIT USED FREE REQUESTS

FFS2 dinode: 256, 0, 11161, 74, 12062
FFS1 dinode: 128, 0, 0, 0, 0
FFS inode: 192, 0, 11161, 79, 12062
Mountpoints: 792, 0, 8, 7, 8
SWAPMETA: 288, 116519, 0, 0, 0
rtentry: 264, 0, 4, 24, 4
unpcb: 192, 12340, 11, 229, 47995
ripcb: 304, 12336, 0, 0, 0
sackhole: 32, 0, 5, 399, 17638
tcpreass: 40, 1092, 4, 164, 536
hostcache: 136, 15372, 1060, 88, 1060
syncache: 128, 15370, 3, 113, 85261
tcptw: 80, 2475, 77, 553, 82362
tcpcb: 752, 12330, 130, 105, 85102
inpcb: 304, 12336, 207, 417, 85102
udpcb: 304, 12336, 0, 36, 140
ipq: 56, 567, 0, 0, 0
socket: 616, 12330, 141, 345, 133238
KNOTE: 120, 0, 5, 88, 31
PIPE: 768, 0, 6, 19, 271
DIRHASH: 1024, 0, 1525, 11, 1525
NAMEI: 1024, 0, 0, 68, 3157925
L VFS Cache: 327, 0, 34, 14, 36
S VFS Cache: 104, 0, 11743, 65, 12929
VNODEPOLL: 152, 0, 0, 0, 0
VNODE: 496, 0, 11193, 31, 12095
cryptodesc: 72, 0, 0, 0, 0
cryptop: 88, 0, 0, 0, 0
g_bio: 216, 0, 0, 630, 417849
ACL UMA zone: 388, 0, 0, 0, 0
mbuf_jumbo_1: 16384, 0, 0, 0, 0
mbuf_jumbo_9: 9216, 0, 0, 0, 0
mbuf_jumbo_p: 4096, 0, 0, 0, 0
mbuf_cluster: 2048, 16384, 896, 28, 896
mbuf: 256, 0, 1704, 486, 3214497
mbuf_packet: 256, 0, 1848, 342, 1348151
VMSPACE: 544, 0, 30, 26, 698
UPCALL: 88, 0, 35, 155, 213
KSEGRP: 144, 0, 107, 127, 261
THREAD: 640, 0, 191, 127, 549934
PROC: 856, 0, 62, 22, 730
Files: 120, 0, 381, 332, 894725
4096: 4096, 0, 163, 37, 920
2048: 2048, 0, 263, 399, 1779
1024: 1024, 0, 180, 44, 1145
512: 512, 0, 466, 52, 3073
256: 256, 0, 413, 202, 334414
128: 128, 0, 3428, 6635, 580039
64: 64, 0, 2511, 401, 684721
32: 32, 0, 974, 238, 1109725
16: 16, 0, 2000, 520, 448227
mt_zone: 1024, 0, 137, 7, 137
DP fakepg: 120, 0, 0, 0, 0
PV ENTRY: 48, 1740096, 140369, 58783, 3142386
MAP ENTRY: 112, 0, 2798, 601, 59936
KMAP ENTRY: 112, 88077, 14, 118, 211
MAP: 352, 0, 7, 15, 7
VM OBJECT: 224, 0, 4447, 58, 19156
128 Bucket: 1048, 0, 130, 2, 130
64 Bucket: 536, 0, 94, 4, 94
32 Bucket: 280, 0, 67, 3, 67
16 Bucket: 152, 0, 66, 9, 66
UMA Hash: 256, 0, 4, 11, 6
UMA RCntSlab: 128, 0, 462, 2, 462
UMA Slabs: 128, 0, 1048, 25, 1129
UMA Zones: 376, 0, 65, 5, 65
UMA Kegs: 240, 0, 65, 10, 65