<cite id="pbjvp"></cite>

        <menuitem id="pbjvp"><em id="pbjvp"></em></menuitem>
        <ins id="pbjvp"></ins>

        <ins id="pbjvp"><video id="pbjvp"><mark id="pbjvp"></mark></video></ins>
        
        

        <output id="pbjvp"><em id="pbjvp"><b id="pbjvp"></b></em></output>

              <i id="pbjvp"><video id="pbjvp"><b id="pbjvp"></b></video></i>
              <mark id="pbjvp"></mark>
              <b id="pbjvp"><em id="pbjvp"><mark id="pbjvp"></mark></em></b>

              Jquery中文网 www.myllop.cn
              Jquery中文网 >  操作系统  >  BSD  >  正文 freebsd sysctl详解与配置方法

              freebsd sysctl详解与配置方法

              发布时间:2014-08-15   编辑:www.myllop.cn
              本文介绍了freebsd中sysctl文件的配置方法,sysctl 是一个用来在系统运作中查看及调整系统参数的工具,有需要的朋友参考学习下。

              在freebsd系统中,有的sysctl 参数只是用来回报目前的系统状况,例如回报目前已开机时间、所使用的操作系统版本、核心名称等等;
              而有的可以让我们修改参数以调整系统运作的行为,例如网 络暂存内存的大小、最大的上线人数等等。
              而这些可以调整的参数中必须在一开机系统执行其它程序前就设定好,有的可以在开机完后任意调整。

              首先,使用下列指令来查看目前所有的 sysctl 参数及其状况:
               

              复制代码 代码示例:
              # sysctl -a | more
              kern.ostype: freebsd
              kern.osrelease: 5.2.1-release
              kern.osrevision: 199506
              kern.version: freebsd 5.2.1-release #0: sun apr 11 16:16:08 cst 2004
              alex@alexwang.com:/usr/src/sys/i386/compile/alex
              kern.maxvnodes: 17812
              kern.maxproc: 2020
              kern.maxfiles: 4040
              kern.argmax: 65536
              kern.securelevel: -1
              kern.hostname: alexwang.com
              kern.hostid: 0
              kern.clockrate: { hz = 100, tick = 10000, profhz = 1024, stathz = 128 }
              kern.posix1version: 200112
              kern.ngroups: 16
              kern.job_control: 1
              kern.saved_ids: 0
              kern.boottime: { sec = 1081672724, usec = 885137 } sun apr 11 16:38:44 2004
              kern.domainname:
              kern.osreldate: 502010
              kern.bootfile: /boot/kernel/kernel
              kern.maxfilesperproc: 3636
              kern.maxprocperuid: 1818
              kern.ipc.maxsockbuf: 262144
              kern.ipc.sockbuf_waste_factor: 8
              kern.ipc.somaxconn: 128
              kern.ipc.max_linkhdr: 16
              kern.ipc.max_protohdr: 60
              kern.ipc.max_hdr: 76
              kern.ipc.max_datalen: 132
              kern.ipc.nmbclusters: 9024
              ………略………

              也可以使用 sysctl 显示单一的参数值,例如:
               

              复制代码 代码示例:
              # sysctl kern.ipc.maxsockbuf
              kern.ipc.maxsockbuf: 262144

              并非所有的参数都可以使用 sysctl 进行调整,而且有的参数对于效能的影响并不大。
              仅说明一些影响较明显的设定。

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

              复制代码 代码示例:
              kern.ipc.maxsockets=”16424″

              9.2.2 net.inet.ip.portrange.*
              net.inet.ip.portrange.* 是用来控制 tcp 及 udp 所使用的 port 范围,这个范围被分成三个部份,低范围、预设范围、及高范围。让我们看一下目前各范围 port 的情形:
               

              复制代码 代码示例:
              # sysctl -a|grep portrange
              net.inet.ip.portrange.lowfirst: 1023
              net.inet.ip.portrange.lowlast: 600
              net.inet.ip.portrange.first: 1024
              net.inet.ip.portrange.last: 5000
              net.inet.ip.portrange.hifirst: 49152
              net.inet.ip.portrange.hilast: 65535
               

              一般的网络程序都会用到预设范围的 port,然而,这个预设范围只从 1024 到 5000,这对于一台忙碌的 ftp server 或 proxy server 可能会有不足的情形。所以我们可以手动调整一下 net.inet.ip.portrange.last 这个值,将它调为 10000、20000、甚至 40000 都是合理的。如果要在一开机就调整这个值,我们可以修改 /etc/sysctl.conf,并增加下列这一行:
              net.inet.ip.portrange.last=40000

              9.2.3 kern.ipc.shm_use_phys
              kern.ipc.shm_use_phys 这个选项预设为 0 (关闭),我们可以将它设为 1 (打开)。如果我们将它设成 1,则所有 system v 共享内存 (share memory,一种程序间沟通的方式)部份都会被留在实体的内存 (physical memory) 中,而不会被放到硬盘上的 swap 空间。我们知道物理内存的存取速度比硬盘快许多,而当物理内存空间不足时,部份数据会被放到虚拟的内存上,从物理内存和虚拟内存之间移转的动作就叫作 swap。如果时常做 swap 的动作,则需要一直对硬盘作 i/o,速度会很慢。因此,如果我们有大量的程序 (数百个) 需要共同分享一个小的共享内存空间,或者是共享内存空间很大时,我们可以将这个值打开。
              这个值可以在开机完成后才设定,因此只要放在 /etc/sysctl.conf 中即可:
              kern.ipc.shm_use_phys=1

              9.2.4 vfs.vmiodirenable
              这个选项预设被设为 1,也就是打开的状态。它被用来决定一个目录中的结构 (目录下的其它文件名称等等) 被快取在内存中的行为。一般的目录结构可能都不大,而这些目录结构会被快取在物理内存中。物理内存中所存放的目录结构快取有限,所以不管我们的物理内存有 多大,预设都只会快取一定大小的目录结构。如果我们将这个选项打开,系统将 buffer cache 放在虚拟内存的快取中,目录结构也就会被存放在虚拟内存中。这样的好处是所有的内存空间都可以被拿来做目录的快取,而缺点是最小用来存放目录结构的快取会 从 512 bytes 变成 4k。
              如果您的系统物理内存空间有限,建议您将这个选项关闭。但如果您的系统需要进行大量档案操作,例如 proxy、多人使用的邮件服务器、或是 news server 等,建议将这个选项打开。

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

              9.2.6 vfs.hirunningspace
              这个值决定了系统可以将多少数据放在写入储存设备的等候区。通常使用默认值即可,但当我们有多颗硬盘时,我们可以将它调大为 4mb 或 5mb。但必须注意的是,太大的值反而会造成效能低落。

              9.2.7 net.inet.tcp.sendspace 及 net.inet.tcp.recvspace
              这二个选项分别控制了网络 tcp 联机所使用的传送及接收暂存区的大小。预设的传送暂存区为 32k,而接收暂存区为 64k。如果需要加速 tcp 的传输,可以将这二个值调大一点,但缺点是太大的值会造成系统核心占用太多的内存。如果我们的机器会同时服务数百或数千个网络联机,那么这二个选项最好维 持默认值,否则会造成系统核心内存不足。但如果我们使用的是 gigabite 的网络,将这二个值调大会有明显效能的提升。传送及接收的暂存区大小可以分开调整,例如,假设我们的系统主要做为网页服务器,我们可以将接收的暂存区调小 一点,并将传送的暂存区调大,如此一来,我们就可以避免占去太多的核心内存空间。
              还有要注意的是,除了这二个选项可以控制网络传输暂存区大小外,route 这个指令也可以用来依路由路径的不同指定暂存区大小。另外 ipfw 等防火墙软件也可以用来限制每个联机所能使用的网络频宽。
              如果我们将传送或接收的暂存区设为大于 65535,除非我们的服务器本身及客户端所使用的操作系统支持 tcp 协议的 windows scaling extension (请参考 rfc 1323 文件)。freebsd 预设已支援 rfs1323 (即 sysctl 的 net.inet.tcp.rfc1323 选项)。

              9.2.8 net.inet.tcp.always_keepalive
              当这个选项打开时,系统会定期送出「keepalives」以检查一个 tcp 联机是否中断。在打开的状况下,所有运作的网络程序都会有定时检查联机是否中断的功能,否则只有当应用程序本身支持时才有此功能。这个选项打开的好处是让 系统更便于管理网络联机,尤其是当我们系统中常有一些莫名其妙就中断联机的使用者时。例如,当一个使用者利用拨接连到系统时,很可能在完成一个完整的 tcp 联机之前,就因为拨接中断而造成联机异常中断。当然,在某些情况下,也有可能会造成系统误判网络联机已中断而结束这个 tcp 联机。

              9.2.9 net.inet.tcp.delayed_ack
              tcp 协议有一个特性,就是当收到客户端的数据时,会传回一个 ack (acknowledgement) 的封包,以确认已收到数据。然而,我们也可以将 ack 封包和所要回传的资料一起送出。例如,当我使用 telnet 进入系统时,在输入指定时,当我们在键盘上敲打一个字符,系统会送回一个表示已接收到该字符的 ack 封包,并传回一个含有该字符的封包以在终端机上显示。当 net.inet.tcp.delayed_ack 打开时,系统会将 ack 和显示该字符的封包一传送,而不需分成二个封包。所以这个选项打开时,可以将封包数量减少一半,以加速网络传输。其它的网络服务,例如,www、 smtp、pop3 等也都具有这种特性。

              9.2.10 kern.ipc.somaxconn
              这个选项控制了 tcp 联机等候区最多可以等待的联机数量,其默认值为 128,不过这个值对于一台忙碌的服务器而言可能小了点。例如大型的网页服务器、邮件服务器,我们可以将它设为 1024。要注意的是在一些网络服务的程序中,如 apache 及 sendmail 也有自己的等待数量设定,我们可能也要在那些软件上做一些设定才会让 kern.ipc.somaxconn 发生作用。将这个选项的值调大一点还有一个好处,就是在面对 denial of service 的攻击时,有较好的防卫能力。

              9.2.11 kern.maxfiles
              这个选项控制了系统中支持最多开启的档案数量,这个值通常是几千个档,但对于一台忙碌的数据库系统或是会开启许多档案的服务器而言,我们可以将它调高为一、二万。

              9.2.12 kern.maxusers
              这是用来控制系统内部表格(internal system tables)大小的参数,它的值大约是您期望系统同一时间会上线使用的使用者数量。我们在核心设定档中有一个 maxusers 的选项,如果您使用的是 freebsd 4.5 以上的版本,建议您只要在核心设定档中将它 0 即可,系统会在一开机时自动依您的内存大小调整这个值。如果我们使用的是 freebsd 4.5 以后的版本,要调整这个值时,我们可以在 /boot/loader.conf 中加入该选项的设定,例如:
              kern.maxusers=256
              如果您使用 freebsd 4.4 以前的版本,则只能重新编译核心以改变这项设定。
              这个值一定要设定大于四,maxusers 的值决定了处理程序所容许的最大值,20+16*maxusers 就是你将得到的所容许处理程序。系统一开机就必须要有 18 个处理程序 (process),即便是简单的执行指令 man 又会产生 9 个 process,所以将这个值设为 64 应该是一个合理的数目。如果你的系统会出现 proc table full 的讯息的话,可以就把它设大一点,例如 128。除非您的系统会需要同时开启很多档案,否则请不要设定超过 256。

              9.2.13 kern.ipc.nmbclusters
              这个值用来调整系统在开机后所要分配给网络 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=16384
              这个是我在实际使用服务器中的参数,请在:/etc/sysctl.conf 加入参数
               

              复制代码 代码示例:
              kern.ipc.somaxconn=8192
              kern.ipc.maxsockbuf=2097152
              kern.maxfilesperproc=32768
              kern.maxfiles=65536
              #kern.securelevel=0
              net.inet.tcp.sendspace=65536
              net.inet.tcp.recvspace=32768
              net.inet.udp.maxdgram=57344
              net.inet.icmp.drop_redirect=1
              net.inet.icmp.log_redirect=0
              net.inet.ip.redirect=0
              net.inet6.ip6.redirect=0
              net.inet.icmp.icmplim=100
              net.inet.tcp.always_keepalive=0
              net.inet.tcp.delayed_ack=0
              net.inet.tcp.log_in_vain=0
              net.inet.udp.log_in_vain=0
              net.inet.tcp.blackhole=2
              net.inet.udp.blackhole=1
              net.local.stream.sendspace=65535
              net.local.stream.recvspace=32768
              net.inet.ip.fastforwarding=1查看 # sysctl -a |grep syncookies 是否打开,开着可以防小规模的ddos
              如:# sysctl net.inet.tcp.syncookies=1
              # ee /boot/loader.conf
              kern.maxdsiz="536870912"
              kern.ipc.maxsockets="4008"
              kern.ipc.nmbclusters="32768"
              kern.ipc.nmbufs="65535"
              kern.ipc.nsfbufs="2496"
              net.inet.tcp.tcbhashsize="2048"

              您可能感兴趣的文章:
              freebsd sysctl详解与配置方法
              freebsd sysctl.conf配置文件详解
              FreeBSD下设置IP地址、网关、DNS的方法介绍
              freebsd下安装ports的方法
              FreeBSD安全设置详解
              freebsd下svnserve启动默认是TCP6的3690端口的解决方法
              FreeBSD下安装MongoDB数据库的方法
              FreeBSD 4.10 下 bind-9.3.2 + mysql-4.1.9 配置详解
              Lighttpd 配置与性能优化
              ubuntu 高并发状态下的linux内核网络参数调优

              关键词: sysctl  sysctl.conf   
              [关闭]
              246好彩天天免费资枓大全 <二四六03024>| <二四六z资料>| <二四六老地主>| <二四六老地主论坛>| <246天天好彩玄机图>| <246天天好彩票玄机图片>| <246好彩天天免费资枓大全>| <二四六天天好彩彩玄机资枓>| <二四天天正版免费资枓大>| <二四六天天好彩每期文字賧料>| <二四六天天好彩毎期文字资料>| <二四六天天好彩毎期文字图片玄机>| <二四六天天人好彩网手机版>| <二四六天天好彩手机版—每期>| <二四六天天好彩免费网手机板>| <二四六天天好手机版本>| <二四六天天好彩彩玄机资枓>| <246好彩天天免费资枓大全>| <二四六天天好彩彩玄机资枓>| <二四天天正版免费资枓大>| <二四天天正版好彩免费资枓1>| <二四六天天好彩头首页>| <二四六天天网手机版>| <二四六玄机图片天天好彩玄机图>| <图片玄机二四六天天好彩资料大全 www.308k.com>| <二四六天天好彩费网站大全>| <精选二四六天天好彩手机版>| <二四六天天好资料大全168>| <二四六天天好来 资料大全>| <二四六天天好资料大全50期蓝月亮>| <246天天免费彩资料大全>| <二四六天天好彩资枓大全>| <二四天天正版免费资枓大全>| <二四六天天好彩免费全年资枓大全>| <二四六天天免费好彩资料大全>| <二四六天天免费好彩资料图>| <二四六天天免费好彩资料大全168>| <743cc二四六天天好釆免费资料>| <246好彩天天免费资枓大全>| <天下釆彩与你同行资料二四六>| <二四六天天好彩资料246>| <二四六天天玄机资料大全>| <308二四六玄机资料大全二四六天天玄机图资料>| <香港二四六玄机资料>| <3o8k com二四六天天好彩文字资枓>| <246好彩天天免费资枓大全>| <二四六好彩资料大全308kk>| <二四六天天好彩彩免费资料大全>| <743cc二四六天天好釆免费资料>| <734cc期期好彩免费资枓大全>| <二四六好彩正版资料>| <308k二四六天好彩资料大全>| <二四六天天,好彩资料开奖>| <玄机二四六天天彩>| <二四六天天天好彩图片玄机>| <二四六天天好彩玄机图库>| <二四六天天如彩正版免费资料大全>| <二四六天天彩玄机免费资料大全>| <二四六天天好彩每期文资子料大全>| <二四六天天香港好彩资料大全>| <二四六天天好彩资料免费大全送>| <香港二四六天天好彩正版资料大全>| <308k二四六好彩资料大全>| <246天天彩免费资料308k>| <246天天好彩资料app>| <二四六天天好彩app下载>| <500502二四六天天彩>| <天天好彩246app>| <246天天好彩资料app>| <二四六天天好彩一每期文字资料>| <二四六天天好彩图片玄机下载>| <246好彩天天免费资枓大全>| <天下釆彩与你同行资料二四六>| <246免费资料大全天天好彩>| <246免费资料大全开>| <246好彩天天免费资枓大全>| <246天天好·彩免费资料大全>| <246天天好彩正版资>| <246天天好彩免费大全资料308k>| | | <新址246天天好彩>| <新址天天好彩二四六>| <246天天好彩开奖944cc>| <246好彩天天免费资枓大全>| <图玄机246天天好彩资料>| <246天天好彩资料全>| <246天天好彩玄机图片>| <246天天好彩免费944cc>| <246556 民间高手论坛>| <246正版天天好彩免费资枓大全>| <246正板天天好彩免费资枓大全>| <308kcom二四六天天彩>| <246玄机图资料天天好彩>| <246天天好彩免费资料大全308>| <二四六免费资料大全正>| <二四六天空彩资料大全>| <二四六天天好彩兔费咨料大全>| <246zl天天好·彩免费资料大全>| <246zl天天944cc好彩免费资料大全>| <二四六正版免费资料大全743cc>| <二四六天天好彩资料大全首页>| <二四六天天好彩免费资料308k>| <二四六免费资料玄机>| <二四六天天好彩资免费大全资料>| <308k二四六天天好彩i>| <246zl天天好·彩免费资料大全>| <二四六天天好彩网手机版 免费>| <天天好彩246资料308图库>| <246天天免费资料大全开奖结果>| <246天天免费资料大全玄机>| <二四六天天好彩免费资料大全168i>| <二四六天天好彩zl246cc>| <精选好彩二四六天天好彩>| <黄大仙精选二四六天天好彩>| | <蓝月亮精选二四六免费天天好彩>| <二四六天天好彩全年免费玄机料>| <二四六图片玄机资料大全>| <二四六玄机图片花仙子>| <香港二四六玄机资料图>| <二四六天天好采玄机资料大全>| <天天二四六玄机>| <二四六天天好彩免费资枓全免费>| <二四六天天好彩资枓免费>| <玄机图二四六天天好彩免费资料>| <二四六天天彩与你同行开奖>| <246好彩天天免费资枓大全>| <二四六天天手机版玄机图资料大全>| <308kcom二四六天天好彩玄机资料>| <二四六好彩正版资料大全>| <香港二四六天天好彩兔费资>| <308k二四六天天好彩 资料>| <二四六玄机图 彩图102>| <二四六天天彩正版资料>| <香港二四六玄机图>| <香港二四六好彩资料246>| <308kcom二四六玄机资料>| <二四六天天好彩正版文字资料大全>| <246天天好彩免费开奖结果>| <246天天好彩免费开奖资料>| <246天天好彩免费资料正版资料>| <2246天天好彩图片玄机>| <246天天好彩图片机>| <二四六天天网彩手机版>| <246 天天好彩免费资料成语挂牌>| <246天天好彩管家婆资料大全>| <246天天好彩综合资料大全>| <308k二四六天天彩>| <二四六天天彩免费玄机资料>| <新址246天天好彩282cc>| <246天天好彩免费944cc>| | <二四六天天好彩944cc资讯>| <246天天好彩308k每期资料>| <246天天好彩308每期资料>| <二四六好彩免费资料图片玄机>| <新址246正版免费资料大全>| <246天天好彩勉费资料大全246>| <新址246zlcom天天好彩资料>| <新址zl 246天天好彩>| <新址246zl cc天天好彩>| <246天天好彩118图片玄机>| <二四六天天好彩马会开奖结果>| <二四六天天好彩手机版开奖结果>| <二四六天天好彩综合资料大全>| <二四六天天好彩308k con>| <二四六天天好彩308k kom>| <246天天好彩免费资大全>| <新址zl246net天天好彩大全>| <246天天好彩玄机资料手机版>| <246天天好天下天空免费>| <二四六天空釆资料大全>| <二四六兔费天天好彩资料>| <二四六308kcom文字资料>| <246天天好天下彩天空开奖>| <二四六免费资料天下>| <二四六天天好彩308k玄机图>| <二四六天天好彩资料开奖>| <308k二四六天天好彩每期>| <308k二四六天天好彩图片玄机>| <二四六天天好彩246zl免费>| <二四六天天好彩 944cc 彩图>| <蓝月亮精选二四六天天好彩>| <二四六天天好彩资料网手机板>| <二四六天天好彩玄机图手机版>| <二四六论坛图片玄机>| <天天二四六玄机图>| <天天彩246免费资料大全>| <246天天好好彩资料免费大全>| <246天天好好彩资料大全>| <二四六免费大全天天彩308>| <香港二四六论坛308k>| <二四六天天彩正版资料大全>| <二四六论坛玄机资料大全>| <308kcom二四六玄机图片>| <308kcom二四六图片玄机>| <308kcom二四六生活幽默>| <玄机图片二四六好彩网>| <玄机资料二四六好彩资料大全>| <246天天好彩308k每期资料大全>|