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


系统默认的页面调度算法已经很好了 , 最好不要更改 。
########################
vfs.ufs.dirhash_maxmem: 2097152
#########################
默认的dirhash最大内存,默认2M
增加它有助于改善单目录超过100K个文件时的反复读目录时的性能
建议修改为33554432(32M)
#############################
vfs.vmiodirenable: 1
【中国最完整的sysctl.conf优化方案】#################
这个变量控制目录是否被系统缓存 。大多数目录是小的 , 在系统中只使用单个片断(典型的是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状态 , 这种状态是等待客户端关闭 , 但是客户端那边并没有正常的关闭 , 于是留下很多这样的东东 。

推荐阅读