中国最完整的sysctl.conf优化方案( 三 )


或者是共享内存空间很大时 , 我们可以将这个值打开 。
这一项 , 我个人建议不做修改 , 除非你的内存非常大 。
####################################
kern.ipc.shm_allow_removed: 0
#################http://www.bsdlover.cn#########
共享内存是否允许移除?这项似乎是在fb下装vmware需要设置为1的 , 否则会有加载SVGA出错的提示
作为服务器 , 这项不动也罢 。
####################################
kern.ipc.numopensockets: 12
#################http://www.bsdlover.cn#########
已经开启的socket数目 , 可以在最繁忙的时候看看它是多少 , 然后就可以知道maxsockets应该设置成多少了 。
####################################
kern.ipc.maxsockets: 1928
#################http://www.bsdlover.cn#########
这是用来设定系统最大可以开启的 socket 数目 。如果您的服务器会提供大量的 FTP 服务 ,
而且常快速的传输一些小档案 , 您也许会发现常传输到一半就中断 。因为 FTP 在传输档案时 ,
每一个档案都必须开启一个 socket 来传输 , 但关闭 socket 需要一段时间 , 如果传输速度很快 ,
而档案又多 , 则同一时间所开启的 socket 会超过原本系统所许可的值 , 这时我们就必须把这个值调大一点 。
除了 FTP 外 , 也许有其它网络程序也会有这种问题 。
然而 , 这个值必须在系统一开机就设定好 , 所以如果要修改这项设定 , 我们必须修改 /boot/loader.conf 才行
kern.ipc.maxsockets="16424"
####################################
kern.ipc.nsfbufs: 1456
#################http://www.bsdlover.cn#########
经常使用 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
#################http://www.bsdlover.cn#########
maxusers 的值决定了处理程序所容许的最大值 , 20 16*maxusers 就是你将得到的所容许处理程序 。
系统一开机就必须要有 18 个处理程序 (process) , 即便是简单的执行指令 man 又会产生 9 个 process ,
所以将这个值设为 64 应该是一个合理的数目 。
如果你的系统会出现 proc table full 的讯息的话 , 可以就把它设大一点 , 例如 128 。
除非您的系统会需要同时开启很多档案 , 否则请不要设定超过 256 。
可以在 /boot/loader.conf 中加入该选项的设定 ,
kern.maxusers=256
####################################
kern.coredump: 1
#################http://www.bsdlover.cn#########
如果设置为0 , 则程序异常退出时不会生成core文件 , 作为服务器 , 不建议这样 。
####################################
kern.corefile: %N.core
#################http://www.bsdlover.cn#########
可设置为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
#########################
在有很多用户进入、离开系统和有很多空闲进程的大的多用户系统中很有用 。
可以让进程更快地进入内存 , 但它会吃掉更多的交换和磁盘带宽 。

推荐阅读